openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
March 2017
- 2 participants
- 2028 discussions
Hello community,
here is the log from the commit of package tog-pegasus for openSUSE:Factory checked in at 2017-03-31 15:08:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tog-pegasus (Old)
and /work/SRC/openSUSE:Factory/.tog-pegasus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tog-pegasus"
Fri Mar 31 15:08:10 2017 rev:6 rq:482342 version:2.14.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/tog-pegasus/tog-pegasus.changes 2017-02-09 11:14:56.344806057 +0100
+++ /work/SRC/openSUSE:Factory/.tog-pegasus.new/tog-pegasus.changes 2017-03-31 15:08:11.651355289 +0200
@@ -1,0 +2,10 @@
+Thu Mar 23 17:10:08 UTC 2017 - jengelh(a)inai.de
+
+- RPM group corrections.
+
+-------------------------------------------------------------------
+Mon Mar 13 07:54:41 UTC 2017 - kkaempf(a)suse.com
+
+- package OpenPegasusNOTICE.txt
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tog-pegasus.spec ++++++
--- /var/tmp/diff_new_pack.KngK78/_old 2017-03-31 15:08:13.243130248 +0200
+++ /var/tmp/diff_new_pack.KngK78/_new 2017-03-31 15:08:13.247129683 +0200
@@ -44,7 +44,7 @@
%endif
Summary: OpenPegasus WBEM Services for Linux
License: MIT
-Group: System Environment/Daemons
+Group: System/Daemons
Url: http://www.openpegasus.org
Source0: https://collaboration.opengroup.org/pegasus/documents/32572/pegasus-%{versi…
@@ -218,8 +218,8 @@
%package libs
Summary: The OpenPegasus Libraries
-Group: System Environment/Libraries
# because of /usr/lib64/libcmpiCppImpl.so.*
+Group: System/Libraries
Conflicts: libcmpiCppImpl0
Requires(pre): /usr/sbin/useradd
Requires(pre): /usr/sbin/groupadd
@@ -241,28 +241,28 @@
%if 0%{?suse_version}
%package -n libpegclient1
Summary: Client library for tog-pegasus
-Group: System Environment/Libraries
+Group: System/Libraries
%description -n libpegclient1
This is a dependency of tog-pegasus and other associated packages.
%package -n libpegcommon1
Summary: Common library for tog-pegasus
-Group: System Environment/Libraries
+Group: System/Libraries
%description -n libpegcommon1
This is a dependency of tog-pegasus and other associated packages.
%package -n libpeglistener1
Summary: Listener library for tog-pegasus
-Group: System Environment/Libraries
+Group: System/Libraries
%description -n libpeglistener1
This is a dependency of tog-pegasus and other associated packages.
%package -n libpegexportserver1
Summary: Exportserver library for tog-pegasus
-Group: System Environment/Libraries
+Group: System/Libraries
%description -n libpegexportserver1
This is a dependency of tog-pegasus and other associated packages.
@@ -590,6 +590,7 @@
/usr/share/man/man8/*
/usr/share/man/man1/*
%doc doc/license.txt doc/Admin_Guide_Release.pdf
+%doc OpenPegasusNOTICE.txt
%doc doc/PegasusSSLGuidelines.htm doc/SecurityGuidelinesForDevelopers.html
%doc doc/README.SUSE.Security src/Clients/repupgrade/doc/repupgrade.html
%doc doc/README.SUSE.SSL doc/cmpiOSBase_OperatingSystemProvider-cimprovagt.example
1
0
Hello community,
here is the log from the commit of package safte-monitor for openSUSE:Factory checked in at 2017-03-31 15:08:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/safte-monitor (Old)
and /work/SRC/openSUSE:Factory/.safte-monitor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "safte-monitor"
Fri Mar 31 15:08:08 2017 rev:20 rq:482325 version:0.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/safte-monitor/safte-monitor.changes 2014-08-01 19:27:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.safte-monitor.new/safte-monitor.changes 2017-03-31 15:08:09.291688893 +0200
@@ -1,0 +2,6 @@
+Wed Mar 15 20:06:24 UTC 2017 - sfalken(a)opensuse.org
+
+- Added explicit BuildRequires: m4, to clear builderror in
+ openSUSE:Factory
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ safte-monitor.spec ++++++
--- /var/tmp/diff_new_pack.8JMtB1/_old 2017-03-31 15:08:10.199560540 +0200
+++ /var/tmp/diff_new_pack.8JMtB1/_new 2017-03-31 15:08:10.203559974 +0200
@@ -1,7 +1,7 @@
#
# spec file for package safte-monitor
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -29,6 +29,7 @@
Patch1: safte-monitor-fix.patch
Patch2: safte-monitor.ioctl.patch
Patch3: safte-monitor-create-state-run-dir-on-init.patch
+BuildRequires: m4
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %suse_version > 800
PreReq: %fillup_prereq %insserv_prereq
1
0
Hello community,
here is the log from the commit of package etherape for openSUSE:Factory checked in at 2017-03-31 15:08:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/etherape (Old)
and /work/SRC/openSUSE:Factory/.etherape.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "etherape"
Fri Mar 31 15:08:05 2017 rev:29 rq:482313 version:0.9.15
Changes:
--------
--- /work/SRC/openSUSE:Factory/etherape/etherape.changes 2017-03-12 20:01:12.505457522 +0100
+++ /work/SRC/openSUSE:Factory/.etherape.new/etherape.changes 2017-03-31 15:08:06.928023061 +0200
@@ -1,0 +2,6 @@
+Thu Mar 23 14:53:20 UTC 2017 - jengelh(a)inai.de
+
+- Remove --with-pic, this is only for static libs
+ (and there are _none at all_).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ etherape.spec ++++++
--- /var/tmp/diff_new_pack.vvPz1o/_old 2017-03-31 15:08:07.547935419 +0200
+++ /var/tmp/diff_new_pack.vvPz1o/_new 2017-03-31 15:08:07.555934289 +0200
@@ -55,7 +55,6 @@
%build
%configure \
- --with-pic \
--disable-scrollkeeper
make %{?_smp_mflags}
1
0
Hello community,
here is the log from the commit of package opmsg for openSUSE:Factory checked in at 2017-03-31 15:08:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opmsg (Old)
and /work/SRC/openSUSE:Factory/.opmsg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opmsg"
Fri Mar 31 15:08:04 2017 rev:2 rq:482308 version:1.75s
Changes:
--------
--- /work/SRC/openSUSE:Factory/opmsg/opmsg.changes 2017-03-04 16:49:15.489469339 +0100
+++ /work/SRC/openSUSE:Factory/.opmsg.new/opmsg.changes 2017-03-31 15:08:05.696197214 +0200
@@ -1,0 +2,5 @@
+Thu Mar 2 10:15:15 UTC 2017 - jengelh(a)inai.de
+
+- Update description
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opmsg.spec ++++++
--- /var/tmp/diff_new_pack.iX8xgm/_old 2017-03-31 15:08:06.428093740 +0200
+++ /var/tmp/diff_new_pack.iX8xgm/_new 2017-03-31 15:08:06.432093174 +0200
@@ -20,7 +20,7 @@
Name: opmsg
Version: 1.75s
Release: 0
-Summary: A gpg alternative
+Summary: File encryption, sign and verify utility
License: GPL-3.0+
Group: Productivity/Security
Url: https://github.com/stealth/opmsg
@@ -36,6 +36,17 @@
create/verify detached signatures of local files. Even though the opmsg
output looks similar, the concept is entirely different.
+* Perfect Forward Secrecy (PFS) by means of ECDH or DH Kex.
+* Native EC or RSA fallback if no (EC)DH keys left.
+* Signing messages is mandatory.
+* OTR-like deniable signatures if demanded.
+* Support for 1:1 key bindings to auto-select source key per
+ destination.
+* Adds the possibility to (re-)route messages different from mail
+ address to defeat meta data collection.
+* Key format suitable for easy use with QR codes.
+* Optional cross-domain ECDH Kex.
+
%prep
%setup -q -n %{name}-%{gittag}
1
0
31 Mar '17
Hello community,
here is the log from the commit of package rubygem-autoprefixer-rails for openSUSE:Factory checked in at 2017-03-31 15:08:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-autoprefixer-rails (Old)
and /work/SRC/openSUSE:Factory/.rubygem-autoprefixer-rails.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-autoprefixer-rails"
Fri Mar 31 15:08:03 2017 rev:3 rq:482297 version:6.7.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-autoprefixer-rails/rubygem-autoprefixer-rails.changes 2017-03-21 22:50:52.791494868 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-autoprefixer-rails.new/rubygem-autoprefixer-rails.changes 2017-03-31 15:08:03.644487279 +0200
@@ -1,0 +2,10 @@
+Wed Mar 22 05:29:07 UTC 2017 - coolo(a)suse.com
+
+- updated to version 6.7.7.1
+ see installed CHANGELOG.md
+
+ ## 6.7.7.1
+ * Update Firefox ESR.
+ * Update Can I Use data.
+
+-------------------------------------------------------------------
Old:
----
autoprefixer-rails-6.7.7.gem
New:
----
autoprefixer-rails-6.7.7.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-autoprefixer-rails.spec ++++++
--- /var/tmp/diff_new_pack.noFubh/_old 2017-03-31 15:08:04.212406988 +0200
+++ /var/tmp/diff_new_pack.noFubh/_new 2017-03-31 15:08:04.212406988 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-autoprefixer-rails
-Version: 6.7.7
+Version: 6.7.7.1
Release: 0
%define mod_name autoprefixer-rails
%define mod_full_name %{mod_name}-%{version}
++++++ autoprefixer-rails-6.7.7.gem -> autoprefixer-rails-6.7.7.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2017-03-11 12:27:15.000000000 +0100
+++ new/CHANGELOG.md 2017-03-21 09:19:02.000000000 +0100
@@ -1,5 +1,9 @@
# Change Log
+## 6.7.7.1
+* Update Firefox ESR.
+* Update Can I Use data.
+
## 6.7.7
* Fix `order` for non-digit values.
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/autoprefixer-rails/version.rb new/lib/autoprefixer-rails/version.rb
--- old/lib/autoprefixer-rails/version.rb 2017-03-11 12:27:15.000000000 +0100
+++ new/lib/autoprefixer-rails/version.rb 2017-03-21 09:19:02.000000000 +0100
@@ -1,3 +1,3 @@
module AutoprefixerRails
- VERSION = '6.7.7'.freeze unless defined? AutoprefixerRails::VERSION
+ VERSION = '6.7.7.1'.freeze unless defined? AutoprefixerRails::VERSION
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2017-03-11 12:27:15.000000000 +0100
+++ new/metadata 2017-03-21 09:19:02.000000000 +0100
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: autoprefixer-rails
version: !ruby/object:Gem::Version
- version: 6.7.7
+ version: 6.7.7.1
platform: ruby
authors:
- Andrey Sitnik
autorequire:
bindir: bin
cert_chain: []
-date: 2017-03-11 00:00:00.000000000 Z
+date: 2017-03-21 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: execjs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/autoprefixer.js new/vendor/autoprefixer.js
--- old/vendor/autoprefixer.js 2017-03-11 12:27:15.000000000 +0100
+++ new/vendor/autoprefixer.js 2017-03-21 09:19:02.000000000 +0100
@@ -6211,7 +6211,7 @@
esr: {
regexp: /^(firefox|ff|fx)\s+esr$/i,
select: function () {
- return ['firefox 45'];
+ return ['firefox 52'];
}
},
@@ -8004,7 +8004,7 @@
}
},{"base64-js":62,"ieee754":128}],67:[function(require,module,exports){
-module.exports={"eras":{"e-52":"52 versions back","e-51":"51 versions back","e-50":"50 versions back","e-49":"49 versions back","e-48":"48 versions back","e-47":"47 versions back","e-46":"46 versions back","e-45":"45 versions back","e-44":"44 versions back","e-43":"43 versions back","e-42":"42 versions back","e-41":"41 versions back","e-40":"40 versions back","e-39":"39 versions back","e-38":"38 versions back","e-37":"37 versions back","e-36":"36 versions back","e-35":"35 versions back","e-34":"34 versions back","e-33":"33 versions back","e-32":"32 versions back","e-31":"31 versions back","e-30":"30 versions back","e-29":"29 versions back","e-28":"28 versions back","e-27":"27 versions back","e-26":"26 versions back","e-25":"25 versions back","e-24":"24 versions back","e-23":"23 versions back","e-22":"22 versions back","e-21":"21 versions back","e-20":"20 versions back","e-19":"19 versions back","e-18":"18 versions back","e-17":"17 versions back","e-16":"16 versions back","e-15":"15 versions back","e-14":"14 versions back","e-13":"13 versions back","e-12":"12 versions back","e-11":"11 versions back","e-10":"10 versions back","e-9":"9 versions back","e-8":"8 versions back","e-7":"7 versions back","e-6":"6 versions back","e-5":"5 versions back","e-4":"4 versions back","e-3":"3 versions back","e-2":"2 versions back","e-1":"Previous version","e0":"Current","e1":"Near future","e2":"Farther future","e3":"3 versions ahead"},"agents":{"ie":{"browser":"IE","abbr":"IE","prefix":"ms","type":"desktop","usage_global":{"5.5":0.009298,"6":0.0233113,"7":0.0233113,"8":0.377643,"9":0.242438,"10":0.242438,"11":3.56197},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"5.5","6","7","8","9","10","11",null,null,null]},"edge":{"browser":"Edge","abbr":"Edge","prefix":"ms","type":"desktop","usage_global":{"12":0.05436,"13":0.14949,"14":1.48584,"15":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"12","13","14","15",null,null]},"firefox":{"browser":"Firefox","abbr":"FF","prefix":"moz","type":"desktop","usage_global":{"2":0.01812,"3":0.02718,"3.5":0.004534,"3.6":0.01812,"4":0.00453,"5":0.004879,"6":0.020136,"7":0.005725,"8":0.00906,"9":0.00533,"10":0.00453,"11":0.00906,"12":0.00906,"13":0.004486,"14":0.00453,"15":0.02265,"16":0.00906,"17":0.00453,"18":0.01812,"19":0.00453,"20":0.00453,"21":0.02265,"22":0.00453,"23":0.02265,"24":0.00906,"25":0.04077,"26":0.00906,"27":0.00906,"28":0.00906,"29":0.01359,"30":0.00906,"31":0.02718,"32":0.00906,"33":0.01359,"34":0.01359,"35":0.01812,"36":0.01812,"37":0.02265,"38":0.05436,"39":0.02265,"40":0.02265,"41":0.02718,"42":0.02718,"43":0.07701,"44":0.04077,"45":0.17214,"46":0.06342,"47":0.20838,"48":0.21744,"49":0.14949,"50":0.3624,"51":4.59342,"52":0.15855,"53":0.00906,"54":0,"55":0},"versions":["2","3","3.5","3.6","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55"]},"chrome":{"browser":"Chrome","abbr":"Chr.","prefix":"webkit","type":"desktop","usage_global":{"4":0.004706,"5":0.004879,"6":0.004879,"7":0.005591,"8":0.005591,"9":0.005591,"10":0.004534,"11":0.02265,"12":0.00453,"13":0.004879,"14":0.004706,"15":0.004706,"16":0.00453,"17":0.00453,"18":0.01359,"19":0.02265,"20":0.00453,"21":0.01359,"22":0.03624,"23":0.00906,"24":0.05436,"25":0.01359,"26":0.01812,"27":0.01359,"28":0.01359,"29":0.01812,"30":0.02718,"31":0.0906,"32":0.0453,"33":0.03171,"34":0.03624,"35":0.06342,"36":0.12684,"37":0.02718,"38":0.03624,"39":0.03624,"40":0.02718,"41":0.04077,"42":0.04077,"43":0.2265,"44":0.04983,"45":0.33069,"46":0.05436,"47":0.14949,"48":0.0906,"49":1.37712,"50":0.15855,"51":0.33069,"52":0.14949,"53":0.23103,"54":0.31257,"55":6.01584,"56":17.2548,"57":0.08154,"58":0.05889,"59":0},"versions":["4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59"]},"safari":{"browser":"Safari","abbr":"Saf.","prefix":"webkit","type":"desktop","usage_global":{"3.1":0,"3.2":0.008692,"4":0.00906,"5":0.03624,"5.1":0.05436,"6":0.00906,"6.1":0.03624,"7":0.02265,"7.1":0.00906,"8":0.09513,"9":0.10419,"9.1":0.43035,"10":1.5402,"10.1":0.00906,"TP":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3.1","3.2","4","5","5.1","6","6.1","7","7.1","8","9","9.1","10","10.1","TP",null]},"opera":{"browser":"Opera","abbr":"Op.","prefix":"webkit","type":"desktop","usage_global":{"9":0.0082,"9.5-9.6":0.00685,"10.0-10.1":0.01812,"10.5":0.008392,"10.6":0.004706,"11":0.016581,"11.1":0.006229,"11.5":0.004879,"11.6":0.004534,"12":0.00453,"12.1":0.07248,"15":0.00685,"16":0.00685,"17":0.00685,"18":0.005014,"19":0.006015,"20":0.004879,"21":0.006597,"22":0.006597,"23":0.013434,"24":0.006702,"25":0.006015,"26":0.005595,"27":0.004706,"28":0.00906,"29":0.004879,"30":0.004879,"31":0.00533,"32":0.005152,"33":0.005014,"34":0.009758,"35":0.004879,"36":0.03171,"37":0.00906,"38":0.02718,"39":0.004534,"40":0.004534,"41":0.00453,"42":0.17214,"43":0.28539,"44":0,"45":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,"9","9.5-9.6","10.0-10.1","10.5","10.6","11","11.1","11.5","11.6","12","12.1","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45",null],"prefix_exceptions":{"9":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11":"o","11.1":"o","11.5":"o","11.6":"o","12":"o","12.1":"o"}},"ios_saf":{"browser":"iOS Safari","abbr":"iOS","prefix":"webkit","type":"mobile","usage_global":{"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.0551829,"7.0-7.1":0.243638,"8":0,"8.1-8.4":0.332138,"9.0-9.2":0.0655947,"9.3":0.900626,"10.0-10.2":8.216},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"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",null,null,null]},"op_mini":{"browser":"Opera Mini","abbr":"O.Mini","prefix":"o","type":"mobile","usage_global":{"all":3.30212},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"all",null,null,null]},"android":{"browser":"Android Browser","abbr":"And.","prefix":"webkit","type":"mobile","usage_global":{"2.1":0,"2.2":0,"2.3":0,"3":0,"4":0.0506998,"4.1":0.152099,"4.2-4.3":0.48976,"4.4":1.08193,"4.4.3-4.4.4":0.610426,"53":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2.1","2.2","2.3","3","4","4.1","4.2-4.3","4.4","4.4.3-4.4.4","53",null,null,null]},"bb":{"browser":"Blackberry Browser","abbr":"BB","prefix":"webkit","type":"mobile","usage_global":{"7":0.04923,"10":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"7","10",null,null,null]},"op_mob":{"browser":"Opera Mobile","abbr":"O.Mob","prefix":"o","type":"mobile","usage_global":{"10":0,"11":0,"11.1":0,"11.5":0,"12":0,"12.1":0,"37":0.00722566},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10","11","11.1","11.5","12","12.1","37",null,null,null],"prefix_exceptions":{"37":"webkit"}},"and_chr":{"browser":"Chrome for Android","abbr":"Chr/And.","prefix":"webkit","type":"mobile","usage_global":{"56":25.6403},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"56",null,null,null]},"and_ff":{"browser":"Firefox for Android","abbr":"FF/And.","prefix":"moz","type":"mobile","usage_global":{"51":0.03829},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"51",null,null,null]},"ie_mob":{"browser":"IE Mobile","abbr":"IE.Mob","prefix":"ms","type":"mobile","usage_global":{"10":0.0812534,"11":0.383697},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10","11",null,null,null]},"and_uc":{"browser":"UC Browser for Android","abbr":"UC","prefix":"webkit","type":"mobile","usage_global":{"11":9.23336},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"11",null,null,null],"prefix_exceptions":{"11":"webkit"}},"samsung":{"browser":"Samsung Internet","abbr":"SS","prefix":"webkit","type":"mobile","usage_global":{"4":3.56644},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"4",null,null,null]},"and_qq":{"browser":"QQ Browser","abbr":"QQ","prefix":"webkit","type":"mobile","usage_global":{"1.2":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1.2",null,null,null]}},"statuses":{"rec":"W3C Recommendation","pr":"W3C Proposed Recommendation","cr":"W3C Candidate Recommendation","wd":"W3C Working Draft","ls":"WHATWG Living Standard","other":"Other","unoff":"Unofficial / Note"},"cats":{"CSS":["CSS3","CSS","CSS2"],"HTML5":["Canvas","HTML5"],"JS API":["JS API"],"Other":["PNG","Other","DOM"],"SVG":["SVG"]},"updated":1489042609,"data":{"png-alpha":{"title":"PNG alpha transparency","description":"Semi-transparent areas in PNG files","spec":"http://www.w3.org/TR/PNG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Portable_Network_Graphics","title":"Wikipedia"},{"url":"http://dillerdesign.com/experiment/DD_belatedPNG/","title":"Workaround for IE6"}],"categories":["PNG"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.","notes_by_num":{},"usage_perc_y":98.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"apng":{"title":"Animated PNG (APNG)","description":"Like animated GIFs, but allowing 24-bit colors and alpha transparency","spec":"https://wiki.mozilla.org/APNG_Specification","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/APNG","title":"Wikipedia"},{"url":"https://github.com/davidmz/apng-canvas","title":"Polyfill using canvas"},{"url":"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp","title":"Chrome extension providing support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://addons.opera.com/en/extensions/details/apng/?display=en","title":"Opera extension providing support"},{"url":"https://code.google.com/p/chromium/issues/detail?id=437662","title":"Chromium issue"}],"categories":["PNG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Where support for APNG is missing, only the first frame is displayed","notes_by_num":{},"usage_perc_y":18.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"6691520493125632","firefox_id":"","webkit_id":""},"video":{"title":"Video element","description":"Method of playing videos on webpages (without requiring a plug-in).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-elem…","status":"ls","links":[{"url":"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5…","title":"Detailed article on video/audio elements"},{"url":"http://webmproject.org","title":"WebM format information"},{"url":"http://camendesign.co.uk/code/video_for_everybody","title":"Video for Everybody"},{"url":"http://diveintohtml5.info/video.html","title":"Video on the Web - includes info on Android support"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/video","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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… to run the video element."},"usage_perc_y":94.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"<video>","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"audio":{"title":"Audio element","description":"Method of playing sound on webpages (without requiring a plug-in).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-audio-elem…","status":"ls","links":[{"url":"http://html5doctor.com/native-audio-in-the-browser/","title":"HTML5 Doctor article"},{"url":"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5…","title":"Detailed article on video/audio elements"},{"url":"http://www.jplayer.org/latest/demos/","title":"Demos of audio player that uses the audio element"},{"url":"http://24ways.org/2010/the-state-of-html5-audio","title":"Detailed article on support"},{"url":"http://textopia.org/androidsoundformats.html","title":"File format test page"},{"url":"http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio","title":"The State of HTML5 Audio"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/audio.js#audio","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/audio","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"a","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.55,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"<audio>","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"contenteditable":{"title":"contenteditable attribute (basic support)","description":"Method of making any HTML element editable.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#contenteditable","status":"ls","links":[{"url":"http://html5demos.com/contenteditable","title":"Demo page"},{"url":"https://blog.whatwg.org/the-road-to-html-5-contenteditable","title":"WHATWG blog post"},{"url":"http://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-c…","title":"Blog post on usage problems"},{"url":"http://docs.webplatform.org/wiki/html/attributes/contentEditable","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited.","notes_by_num":{},"usage_perc_y":95.03,"usage_perc_a":0.03,"ucprefix":false,"parent":"","keywords":"iscontenteditable","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"dragndrop":{"title":"Drag and Drop","description":"Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#dnd","status":"ls","links":[{"url":"http://html5doctor.com/native-drag-and-drop/","title":"HTML5 Doctor article"},{"url":"http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html","title":"Shopping cart demo"},{"url":"http://html5demos.com/drag","title":"Demo with link blocks"},{"url":"http://docs.webplatform.org/wiki/dom/DragEvent","title":"WebPlatform Docs"},{"url":"https://github.com/MihaiValentin/setDragImage-IE","title":"Polyfill for setDragImage in IE"},{"url":"http://blog.teamtreehouse.com/implementing-native-drag-and-drop","title":"Implementing Native Drag and Drop"},{"url":"https://github.com/timruffles/ios-html5-drag-drop-shim","title":"iOS/Android shim for HTML 5 drag'n'drop"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge setDragImage feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"a #1 #3","6":"a #1 #3","7":"a #1 #3","8":"a #1 #3","9":"a #1 #3","10":"a #2 #3","11":"a #2 #3"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"y","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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 elements 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`."},"usage_perc_y":38.04,"usage_perc_a":6.17,"ucprefix":false,"parent":"","keywords":"draganddrop, draggable","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"internationalization":{"title":"Internationalization API","description":"Locale-sensitive collation (string comparison), number formatting, and date and time formatting.","spec":"http://www.ecma-international.org/ecma-402/1.0/","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Ob…","title":"MDN reference"},{"url":"http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/","title":"The ECMAScript Internationalization API"},{"url":"http://code.tutsplus.com/tutorials/working-with-intl--cms-21082","title":"Working With Intl"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=90906","title":"WebKit tracking bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1215247","title":"Firefox for Android tracking bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":80.97,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"Intl,Collator,NumberFormat,DateTimeFormat","ie_id":"ecmascriptinternationalizationapi","chrome_id":"","firefox_id":"","webkit_id":"specification-internationalization-api"},"queryselector":{"title":"querySelector/querySelectorAll","description":"Method of accessing DOM elements using CSS selectors","spec":"https://dom.spec.whatwg.org/#dom-parentnode-queryselector","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/element.querySelector","title":"MDN article on querySelector"},{"url":"https://developer.mozilla.org/En/DOM/Element.querySelectorAll","title":"MDN article on querySelectorAll"},{"url":"http://cjihrig.com/blog/javascripts-selectors-api/","title":"Blog post"},{"url":"http://docs.webplatform.org/wiki/css/selectors_api/querySelector","title":"WebPlatform Docs"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)."},"usage_perc_y":97.88,"usage_perc_a":0.38,"ucprefix":false,"parent":"","keywords":"query,selectors,selectors api,document.queryselector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"getelementsbyclassname":{"title":"getElementsByClassName","description":"Method of accessing DOM elements by class name","spec":"https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname","status":"ls","links":[{"url":"http://www.quirksmode.org/dom/tests/basics.html#getElementsByClassName","title":"Test page"},{"url":"http://docs.webplatform.org/wiki/dom/HTMLElement/getElementsByClassName","title":"WebPlatform Docs"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.91,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"byclassname","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"forms":{"title":"HTML5 form features","description":"Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads. Previously known as \"Web forms 2.0\".","spec":"https://html.spec.whatwg.org/multipage/forms.html#forms","status":"ls","links":[{"url":"https://miketaylr.com/code/input-type-attr.html","title":"HTML5 inputs and attribute support page"},{"url":"https://github.com/westonruter/webforms2","title":"Cross-browser JS implementation (based on original spec)"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"p","3.2":"p","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"a"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"y"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"notes":"","notes_by_num":{},"usage_perc_y":9.39,"usage_perc_a":84.19,"ucprefix":false,"parent":"","keywords":"input,datepicker","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"html5semantic":{"title":"New semantic elements","description":"HTML5 offers some new elements, primarily for semantic purposes. The elements include: `section`, `article`, `aside`, `header`, `footer`, `nav`, `figure`, `figcaption`, `time`, `mark` & `main`.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#sections","status":"ls","links":[{"url":"https://blog.whatwg.org/supporting-new-elements-in-ie","title":"Workaround for IE"},{"url":"https://blog.whatwg.org/styling-ie-noscript","title":"Alternate workaround"},{"url":"http://oli.jp/2009/html5-structure3/","title":"Article on structural elements"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-html5-ele…","title":"has.js test"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"a #2","10":"a #2","11":"a #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"a #2","5.1":"a #2","6":"a #2","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #2","4.2-4.3":"a #2","5.0-5.1":"a #2","6.0-6.1":"a #2","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a #1","2.2":"a #2","2.3":"a #2","3":"a #2","4":"a #2","4.1":"a #2","4.2-4.3":"a #2","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #2","10":"a #2"},"op_mob":{"10":"a #1","11":"a #2","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"a #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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/HTMLUnknownElemen…". 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."},"usage_perc_y":79.36,"usage_perc_a":18.57,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-line-clamp":{"title":"CSS line-clamp","description":"Proprietary and undocumented 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.","spec":"https://developer.apple.com/library/safari/documentation/AppleApplications/…","status":"unoff","links":[{"url":"http://guerillalabs.co/blog/css-line-clamping.html","title":"Article on cross-browser CSS line clamping"},{"url":"https://css-tricks.com/line-clampin/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"As there is no specification and the property is dependent on an outdated implementation of flexbox (hence `display: -webkit-box`) it is unlikely that other browsers will support the property as-is, although an alternative solution may at some point replace it.\r\n\r\nOlder (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":{},"usage_perc_y":81.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"offline-apps":{"title":"Offline web applications","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. ","spec":"https://html.spec.whatwg.org/multipage/browsers.html#offline","status":"unoff","links":[{"url":"http://www.sitepoint.com/offline-web-application-tutorial/","title":"Sitepoint tutorial"},{"url":"http://diveintohtml5.info/offline.html","title":"Dive Into HTML5 article"},{"url":"http://hacks.mozilla.org/2010/01/offline-web-applications/","title":"Mozilla Hacks article/demo"},{"url":"http://docs.webplatform.org/wiki/apis/appcache/ApplicationCache","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"This technology is being deprecated in favor of [Service Workers](http://caniuse.com/#feat=serviceworkers)","notes_by_num":{},"usage_perc_y":94.3,"usage_perc_a":0.03,"ucprefix":false,"parent":"","keywords":"appcache,applicationcache,app cache,application cache,online","ie_id":"applicationcache","chrome_id":"6192449487634432","firefox_id":"","webkit_id":""},"webworkers":{"title":"Web Workers","description":"Method of running scripts in the background, isolated from the web page","spec":"https://html.spec.whatwg.org/multipage/workers.html","status":"ls","links":[{"url":"https://developer.mozilla.org/En/Using_web_workers","title":"MDN article"},{"url":"http://nerget.com/rayjs-mt/rayjs.html","title":"Web Worker demo"},{"url":"http://code.google.com/p/ie-web-worker/","title":"Polyfill for IE (single threaded)"},{"url":"http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-web-…","title":"Tutorial"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.61,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"fontface":{"title":"@font-face Web fonts","description":"Method of displaying fonts downloaded from websites","spec":"http://www.w3.org/TR/css3-webfonts/","status":"cr","links":[{"url":"http://webfonts.info","title":"News and information site"},{"url":"http://en.wikipedia.org/wiki/Web_typography","title":"Wikipedia"},{"url":"http://www.css3files.com/font/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@font-face","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #2","4.0-4.1":"a #2","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"a","2.3":"a","3":"a","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.53,"usage_perc_a":0.48,"ucprefix":false,"parent":"","keywords":"font face","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"eot":{"title":"EOT - Embedded OpenType fonts","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","spec":"http://www.w3.org/Submission/EOT/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/Embedded_OpenType","title":"Wikipedia"},{"url":"http://www.microsoft.com/typography/web/embedding/default.aspx","title":"Example pages"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Proposal by Microsoft, being considered for W3C standardization.","notes_by_num":{},"usage_perc_y":4.47,"usage_perc_a":0,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"woff":{"title":"WOFF - Web Open Font Format","description":"Compressed TrueType/OpenType font that contains information about the font's source.","spec":"http://www.w3.org/TR/WOFF/","status":"rec","links":[{"url":"http://hacks.mozilla.org/2009/10/woff/","title":"Mozilla hacks blog post"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n #1","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Reported to be supported in some modified versions of the Android 4.0 browser."},"usage_perc_y":93.77,"usage_perc_a":0,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"multibackgrounds":{"title":"CSS3 Multiple backgrounds","description":"Method of using multiple images as a background","spec":"http://www.w3.org/TR/css3-background/","status":"cr","links":[{"url":"http://www.css3.info/preview/multiple-backgrounds/","title":"Demo & information page"},{"url":"http://www.css3files.com/background/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/background-image","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"border-image":{"title":"CSS3 Border images","description":"Method of using images for borders","spec":"https://www.w3.org/TR/css3-background/#border-images","status":"cr","links":[{"url":"http://www.css3files.com/border/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/border-image","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org//docs/Web/CSS/border-image","title":"Border image on MDN"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y #1","13":"y #1","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a x #2 #3","3.6":"a x #2 #3","4":"a x #2 #3","5":"a x #2 #3","6":"a x #2 #3","7":"a x #2 #3","8":"a x #2 #3","9":"a x #2 #3","10":"a x #2 #3","11":"a x #2 #3","12":"a x #2 #3","13":"a x #2 #3","14":"a x #2 #3","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #1 #2 #3 #4","5":"a x #1 #2 #3 #4","6":"a x #1 #2 #3 #4","7":"a x #1 #2 #3 #4","8":"a x #1 #2 #3 #4","9":"a x #1 #2 #3 #4","10":"a x #1 #2 #3 #4","11":"a x #1 #2 #3 #4","12":"a x #1 #2 #3 #4","13":"a x #1 #2 #3 #4","14":"a x #1 #2 #3 #4","15":"a #1 #2 #4","16":"a #1 #2 #4","17":"a #1 #2 #4","18":"a #1 #2 #4","19":"a #1 #2 #4","20":"a #1 #2 #4","21":"a #1 #2 #4","22":"a #1 #2 #4","23":"a #1 #2 #4","24":"a #1 #2 #4","25":"a #1 #2 #4","26":"a #1 #2 #4","27":"a #1 #2 #4","28":"a #1 #2 #4","29":"a #1 #2 #4","30":"a #1 #2","31":"a #1 #2","32":"a #1 #2","33":"a #1 #2","34":"a #1 #2","35":"a #1 #2","36":"a #1 #2","37":"a #1 #2","38":"a #1 #2","39":"a #1 #2","40":"a #1 #2","41":"a #1 #2","42":"a #1 #2","43":"a #1 #2","44":"a #1 #2","45":"a #1 #2","46":"a #1 #2","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"a #1 #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2"},"safari":{"3.1":"a x #1 #2 #3 #4","3.2":"a x #1 #2 #3 #4","4":"a x #1 #2 #3 #4","5":"a x #1 #2 #3 #4","5.1":"a x #1 #2 #3 #4","6":"a #1 #2 #4","6.1":"a #1 #2 #4","7":"a #1 #2 #4","7.1":"a #1 #2 #4","8":"a #1 #2 #4","9":"a #1 #2 #4","9.1":"y #1","10":"y #1","10.1":"y #1","TP":"y #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"a #2 #3 #4","10.6":"a #2 #3 #4","11":"a x #2 #3 #4","11.1":"a x #2 #3 #4","11.5":"a x #2 #3 #4","11.6":"a x #2 #3 #4","12":"a x #2 #3 #4","12.1":"a x #2 #3 #4","15":"a #1 #2","16":"a #1 #2","17":"a #1 #2","18":"a #1 #2","19":"a #1 #2","20":"a #1 #2","21":"a #1 #2","22":"a #1 #2","23":"a #1 #2","24":"a #1 #2","25":"a #1 #2","26":"a #1 #2","27":"a #1 #2","28":"a #1 #2","29":"a #1 #2","30":"a #1 #2","31":"a #1 #2","32":"a #1 #2","33":"a #1 #2","34":"a #1 #2","35":"a #1 #2","36":"a #1 #2","37":"a #1 #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2"},"ios_saf":{"3.2":"a x #1 #2 #3 #4","4.0-4.1":"a x #1 #2 #3 #4","4.2-4.3":"a x #1 #2 #3 #4","5.0-5.1":"a x #1 #2 #3 #4","6.0-6.1":"a #1 #2 #4","7.0-7.1":"a #1 #2 #4","8":"a #1 #2 #4","8.1-8.4":"a #1 #2 #4","9.0-9.2":"a #1 #2 #4","9.3":"y #1","10.0-10.2":"y #1"},"op_mini":{"all":"a x #2 #3 #4"},"android":{"2.1":"a x #1 #2 #3 #4","2.2":"a x #1 #2 #3 #4","2.3":"a x #1 #2 #3 #4","3":"a x #1 #2 #3 #4","4":"a x #1 #2 #3 #4","4.1":"a x #1 #2 #3 #4","4.2-4.3":"a x #1 #2 #3 #4","4.4":"a #1 #2","4.4.3-4.4.4":"a #1 #2","53":"a #1 #2"},"bb":{"7":"a #1 #2 #3 #4","10":"a #1 #2 #4"},"op_mob":{"10":"n","11":"a x #2 #3 #4","11.1":"a x #2 #3 #4","11.5":"a x #2 #3 #4","12":"a x #2 #3 #4","12.1":"a x #2 #3 #4","37":"a #1 #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"a #1 #2"},"samsung":{"4":"a #1 #2"},"and_qq":{"1.2":"a #2"}},"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](http://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`"},"usage_perc_y":21.89,"usage_perc_a":75.4,"ucprefix":false,"parent":"","keywords":"border-image-source,border-image-slice,border-image-repeat,border-image-width,,border-image-outset","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"background-img-opts":{"title":"CSS3 Background-image options","description":"New properties to affect background images, including background-clip, background-origin and background-size","spec":"http://www.w3.org/TR/css3-background/#backgrounds","status":"cr","links":[{"url":"http://www.standardista.com/css3/css3-background-properties","title":"Detailed compatibility tables and demos"},{"url":"http://www.css3files.com/background/","title":"Information page"},{"url":"https://github.com/louisremi/background-size-polyfill","title":"Polyfill for IE7-8"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #2 #3","3.2":"a #2 #3","4":"a #2 #3","5":"a #2 #3","5.1":"a #2 #3","6":"a #2 #3","6.1":"a #2 #3","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"a x","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a #3","6.0-6.1":"a","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a x","2.2":"a x #3","2.3":"a x #3","3":"a #3","4":"a #3","4.1":"a #3","4.2-4.3":"a #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Safari also supports the unofficial `-webkit-background-clip: text` (only with prefix)","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"},"usage_perc_y":93.56,"usage_perc_a":4.31,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-table":{"title":"CSS Table display","description":"Method of displaying elements as tables, rows, and cells. Includes support for all `display: table-*` properties as well as `display: inline-table`","spec":"http://www.w3.org/TR/CSS21/tables.html","status":"rec","links":[{"url":"http://www.onenaught.com/posts/201/use-css-displaytable-for-layout","title":"Blog post on usage"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Firefox 2 does not support `inline-table`"},"usage_perc_y":98.3,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"display:table,table-cell,table-row,table-layout","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-gencontent":{"title":"CSS Generated content for pseudo-elements","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. ","spec":"http://www.w3.org/TR/CSS21/generate.html","status":"rec","links":[{"url":"http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated…","title":"Guide on usage"},{"url":"https://dev.opera.com/articles/view/css-generated-content-techniques/","title":"Dev.Opera article"},{"url":"http://docs.webplatform.org/wiki/css/generated_and_replaced_content","title":"WebPlatform Docs"}],"categories":["CSS2","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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)."},"usage_perc_y":97.94,"usage_perc_a":0.38,"ucprefix":false,"parent":"","keywords":"before,after","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-fixed":{"title":"CSS position:fixed","description":"Method of keeping an element in a fixed location regardless of scroll position","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://www.css-101.org/fixed-positioning/05.php","title":"Workaround for IE6"},{"url":"http://bradfrostweb.com/blog/mobile/fixed-position/","title":"Article on mobile support"},{"url":"http://docs.webplatform.org/wiki/css/properties/position","title":"WebPlatform Docs"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a #2","2.2":"a #2","2.3":"a #2","3":"y","4":"y #3","4.1":"y #3","4.2-4.3":"y #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in older iOS Safari refers to [buggy behavior](http://remysharp.com/2012/05/24/issues-with-position-fixed-scroll….","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)."},"usage_perc_y":94.74,"usage_perc_a":0.3,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"beacon":{"title":"Beacon API","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.","spec":"http://www.w3.org/TR/beacon/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":73.92,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"beacon","chrome_id":"5517433905348608","firefox_id":"","webkit_id":""},"hashchange":{"title":"Hashchange event","description":"Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) ","spec":"https://html.spec.whatwg.org/multipage/browsers.html#the-hashchangeevent-in…","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/window.onhashchange","title":"MDN article"},{"url":"http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx","title":"MSDN article"},{"url":"http://www.quirksmode.org/dom/events/tests/hashchange.html","title":"Simple demo"},{"url":"http://github.com/3nr1c/jUri.js","title":"Polyfill"},{"url":"http://docs.webplatform.org/wiki/dom/Element/hashchange","title":"WebPlatform Docs"}],"categories":["HTML5","JS API"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"onhashchange,HashChangeEvent","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-sel2":{"title":"CSS 2.1 selectors","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)","spec":"http://www.w3.org/TR/CSS21/selector.html","status":"rec","links":[{"url":"http://www.quirksmode.org/css/contents.html","title":"Detailed support information"},{"url":"http://www.yourhtmlsource.com/stylesheets/advancedselectors.html","title":"Examples of advanced selectors"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"},{"url":"http://docs.webplatform.org/wiki/css/selectors","title":"WebPlatform Docs"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support for `:visited` styling [varies across browsers](http://sixrevisions.com/css/visited-pseudo-class-strange/) due to security concerns.","notes_by_num":{},"usage_perc_y":98.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"attribute selector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-sel3":{"title":"CSS3 selectors","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)","spec":"http://www.w3.org/TR/css3-selectors/","status":"rec","links":[{"url":"http://www.quirksmode.org/css/selectors/","title":"Detailed support information"},{"url":"http://www.css3.info/selectors-test/","title":"Automated CSS3 selector test"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"},{"url":"http://docs.webplatform.org/wiki/css/selectors","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"p","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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]`"},"usage_perc_y":97.89,"usage_perc_a":0.4,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-textshadow":{"title":"CSS3 Text-shadow","description":"Method of applying one or more shadow or blur effects to text","spec":"http://www.w3.org/TR/css-text-decor-3/#text-shadow-property","status":"cr","links":[{"url":"http://hacks.mozilla.org/2009/06/text-shadow/","title":"Mozilla hacks article"},{"url":"https://testdrive-archive.azurewebsites.net/Graphics/hands-on-css3/hands-on…","title":"Live editor"},{"url":"http://www.css3files.com/shadow/#textshadow","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/text-shadow","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #2","3.2":"a #2","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.28,"usage_perc_a":3.36,"ucprefix":false,"parent":"","keywords":"text shadow","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-boxshadow":{"title":"CSS3 Box-shadow","description":"Method of displaying an inner or outer shadow effect to elements","spec":"http://www.w3.org/TR/css3-background/#box-shadow","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/-moz-box-shadow","title":"MDN article"},{"url":"http://westciv.com/tools/boxshadows/index.html","title":"Live editor"},{"url":"http://tests.themasta.com/blogstuff/boxshadowdemo.html","title":"Demo of various effects"},{"url":"http://www.css3files.com/shadow/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/box-shadow","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a x #1","3.2":"a x #1","4":"a x #1","5":"y x","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y x","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.54,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"box-shadows,boxshadows,box shadow,shaow","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-colors":{"title":"CSS3 Colors","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().","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"https://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-tra…","title":"Dev.Opera article"},{"url":"http://www.css3files.com/color/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/color#RGBA_Notation","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.91,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"rgb,hsl,rgba,hsla","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-boxsizing":{"title":"CSS3 Box-sizing","description":"Method of specifying whether or not an element's borders and padding should be included in size units","spec":"http://www.w3.org/TR/css3-ui/#box-sizing","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/Box-sizing","title":"MDN article"},{"url":"http://www.456bereastreet.com/archive/201104/controlling_width_with_css3_bo…","title":"Blog post"},{"url":"https://github.com/Schepp/box-sizing-polyfill","title":"Polyfill for IE"},{"url":"http://css-tricks.com/box-sizing/","title":"CSS Tricks"},{"url":"http://docs.webplatform.org/wiki/css/properties/box-sizing","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y x","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Firefox currently also supports the `padding-box` in addition to `content-box` and `border-box`, though this value has been removed from the specification.","notes_by_num":{},"usage_perc_y":98.31,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"border-box,content-box","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-mediaqueries":{"title":"CSS3 Media Queries","description":"Method of applying styles based on media information. Includes things like page and device dimensions","spec":"http://www.w3.org/TR/css3-mediaqueries/","status":"rec","links":[{"url":"http://ie.microsoft.com/testdrive/HTML5/85CSS3_MediaQueries/","title":"IE demo page with information"},{"url":"http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-quer…","title":"Media Queries tutorial"},{"url":"https://github.com/scottjehl/Respond","title":"Polyfill for IE"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@media","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"p","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #1 #2","3.2":"a #1 #2","4":"y #1","5":"y #1","5.1":"y #1","6":"y #1","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y #1","4.0-4.1":"y #1","4.2-4.3":"y #1","5.0-5.1":"y #1","6.0-6.1":"y #1","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y #1","2.2":"y #1","2.3":"y #1","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not support nested media queries","2":"Partial support refers to only acknowledging different media rules on page reload"},"usage_perc_y":97.88,"usage_perc_a":0.01,"ucprefix":false,"parent":"","keywords":"@media","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"multicolumn":{"title":"CSS3 Multiple column layout","description":"Method of flowing information in multiple columns","spec":"http://www.w3.org/TR/css3-multicol/","status":"cr","links":[{"url":"https://dev.opera.com/articles/view/css3-multi-column-layout/","title":"Dev.Opera article"},{"url":"http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/an-introduction-t…","title":"Introduction page"},{"url":"http://docs.webplatform.org/wiki/css/properties/column-width","title":"WebPlatform Docs"},{"url":"https://github.com/hamsterbacke23/multicolumn-polyfill","title":"Polyfill"},{"url":"https://www.chromestatus.com/feature/6298909664083968","title":"Chrome platform status for CSS column-fill"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x #1","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"a x #1 #2","5":"a x #1 #2","6":"a x #1 #2","7":"a x #1 #2","8":"a x #1 #2","9":"a x #1 #2","10":"a x #1 #2","11":"a x #1 #2","12":"a x #1 #2","13":"a x #1 #2","14":"a x #1 #2","15":"a x #1 #2","16":"a x #1 #2","17":"a x #1 #2","18":"a x #1 #2","19":"a x #1 #2","20":"a x #1 #2","21":"a x #1 #2","22":"a x #1 #2","23":"a x #1 #2","24":"a x #1 #2","25":"a x #1 #2","26":"a x #1 #2","27":"a x #1 #2","28":"a x #1 #2","29":"a x #1 #2","30":"a x #1 #2","31":"a x #1 #2","32":"a x #1 #2","33":"a x #1 #2","34":"a x #1 #2","35":"a x #1 #2","36":"a x #1 #2","37":"a x #1 #2","38":"a x #1 #2","39":"a x #1 #2","40":"a x #1 #2","41":"a x #1 #2","42":"a x #1 #2","43":"a x #1 #2","44":"a x #1 #2","45":"a x #1 #2","46":"a x #1 #2","47":"a x #1 #2","48":"a x #1 #2","49":"a x #1 #2","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"a x #1 #2","3.2":"a x #1 #2","4":"a x #1 #2","5":"a x #1 #2","5.1":"a x #1 #2","6":"a x #1 #2","6.1":"a x #1 #2","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"a x #1 #2","16":"a x #1 #2","17":"a x #1 #2","18":"a x #1 #2","19":"a x #1 #2","20":"a x #1 #2","21":"a x #1 #2","22":"a x #1 #2","23":"a x #1 #2","24":"a x #1 #2","25":"a x #1 #2","26":"a x #1 #2","27":"a x #1 #2","28":"a x #1 #2","29":"a x #1 #2","30":"a x #1 #2","31":"a x #1 #2","32":"a x #1 #2","33":"a x #1 #2","34":"a x #1 #2","35":"a x #1 #2","36":"a x #1 #2","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"a x #1 #2","4.0-4.1":"a x #1 #2","4.2-4.3":"a x #1 #2","5.0-5.1":"a x #1 #2","6.0-6.1":"a x #1 #2","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"y"},"android":{"2.1":"a x #1 #2","2.2":"a x #1 #2","2.3":"a x #1 #2","3":"a x #1 #2","4":"a x #1 #2","4.1":"a x #1 #2","4.2-4.3":"a x #1 #2","4.4":"a x #1 #2","4.4.3-4.4.4":"a x #1 #2","53":"a x #1"},"bb":{"7":"a x #1 #2","10":"a x #1 #2"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a x #1 #2"},"samsung":{"4":"a x #1 #2"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Partial support refers to not supporting the `break-before`, `break-after`, `break-inside` properties. WebKit- and Blink-based browsers do have equivalent support for the non-standard `-webkit-column-break-*` properties to accomplish the same result (but only the `auto` and `always` values). Firefox does not support `break-*`.","2":"Partial support refers to not supporting the `column-fill` property."},"usage_perc_y":9.35,"usage_perc_a":88.28,"ucprefix":false,"parent":"","keywords":"column-count,column-width,column-gap,column-rule,column-span,column-fill","ie_id":"multicolumnfullsupport","chrome_id":"6526151266664448,5630943616303104","firefox_id":"","webkit_id":""},"border-radius":{"title":"CSS3 Border-radius (rounded corners)","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`)","spec":"http://www.w3.org/TR/css3-background/#the-border-radius","status":"cr","links":[{"url":"http://border-radius.com","title":"Border-radius CSS Generator"},{"url":"http://muddledramblings.com/table-of-css3-border-radius-compliance","title":"Detailed compliance table"},{"url":"http://www.css3files.com/border/#borderradius","title":"Information page"},{"url":"http://css3pie.com/","title":"Polyfill which includes border-radius"},{"url":"http://docs.webplatform.org/wiki/css/properties/border-radius","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x #2","3":"y x #2","3.5":"y x #2","3.6":"y x #2","4":"y #2","5":"y #2","6":"y #2","7":"y #2","8":"y #2","9":"y #2","10":"y #2","11":"y #2","12":"y #2","13":"y #2","14":"y #2","15":"y #2","16":"y #2","17":"y #2","18":"y #2","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y #2","26":"y #2","27":"y #2","28":"y #2","29":"y #2","30":"y #2","31":"y #2","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y #2","37":"y #2","38":"y #2","39":"y #2","40":"y #2","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y","5.1":"y #1","6":"y #1","6.1":"y #1","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Safari 6.1 and earlier did not apply `border-radius` correctly to image borders: http://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)"},"usage_perc_y":94.59,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"roundedcorners, border radius,-moz-border-radius","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"transforms2d":{"title":"CSS3 2D Transforms","description":"Method of transforming an element including rotating, scaling, etc. Includes support for `transform` as well as `transform-origin` properties.","spec":"http://www.w3.org/TR/css3-2d-transforms/","status":"wd","links":[{"url":"http://www.westciv.com/tools/transforms/","title":"Live editor"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/transform","title":"MDN article"},{"url":"http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/","title":"Workaround script for IE"},{"url":"http://www.css3files.com/transform/","title":"Information page"},{"url":"http://www.useragentman.com/IETransformsTranslator/","title":"Converter for IE"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/css/transforms/transform","title":"WebPlatform Docs"},{"url":"https://developer.microsoft.com/en-us/microsoft-edge/platform/status/suppor…","title":"IE platform status (SVG)"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y x #1","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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)"},"usage_perc_y":94.56,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"transformation,translate,translatex,translatey,translatez,transform3d,rotation,rotate,scale,skew,css-transforms,transform-origin,transform:rotate,transform:scale,transform:skew","ie_id":"transforms","chrome_id":"6437640580628480","firefox_id":"","webkit_id":""},"use-strict":{"title":"ECMAScript 5 Strict Mode","description":"Method of placing code in a \"strict\" operating context.","spec":"http://www.ecma-international.org/ecma-262/5.1/#sec-14.1","status":"other","links":[{"url":"http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/","title":"Information page"},{"url":"http://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/","title":"Article with test suite"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"a #1","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in older Safari refers to strict mode still accepting a lot of JS that should be considered invalid."},"usage_perc_y":97.38,"usage_perc_a":0.09,"ucprefix":false,"parent":"es5","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"devicepixelratio":{"title":"Window.devicePixelRatio","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.","spec":"http://dev.w3.org/csswg/cssom-view/#dom-window-devicepixelratio","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio","title":"MDN"}],"categories":["CSS","DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":97.11,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"device,pixel,ratio,size","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"transforms3d":{"title":"CSS3 3D Transforms","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.","spec":"http://www.w3.org/TR/css3-3d-transforms/","status":"wd","links":[{"url":"http://css3.bradshawenterprises.com/flip/","title":"Multi-browser demo"},{"url":"http://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/","title":"Mozilla hacks article"},{"url":"http://thewebrocks.com/demos/3D-css-tester/","title":"3D CSS Tester"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/css/transforms/transform","title":"WebPlatform Docs"},{"url":"http://desandro.github.io/3dtransforms/","title":"Intro to CSS 3D transforms"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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.…. This prevents nesting 3D transformed elements.","2":"Safari 9 is reported to still require a prefix for the related `backface-visibility` property."},"usage_perc_y":89.79,"usage_perc_a":4.27,"ucprefix":false,"parent":"","keywords":"css 3d,3dtransforms,translate3d,backface visibility,perspective,transform-origin,transform-style","ie_id":"transforms,csstransformspreserve3d","chrome_id":"6437640580628480","firefox_id":"","webkit_id":""},"sharedworkers":{"title":"Shared Web Workers","description":"Method of allowing multiple scripts to communicate with a single web worker.","spec":"https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduc…","status":"ls","links":[{"url":"http://www.sitepoint.com/javascript-shared-web-workers-html5/","title":"Sitepoint article"},{"url":"http://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared…","title":"Blog post"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":48,"usage_perc_a":0,"ucprefix":false,"parent":"webworkers","keywords":"shared worker","ie_id":"sharedwebworkers","chrome_id":"","firefox_id":"shared-worker","webkit_id":"feature-shared-web-workers"},"css-hyphens":{"title":"CSS Hyphenation","description":"Method of controlling when words at the end of lines should be hyphenated using the \"hyphens\" property.","spec":"http://www.w3.org/TR/css3-text/#hyphenation","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/hyphens","title":"MDN article"},{"url":"http://blog.fontdeck.com/post/9037028497/hyphens","title":"Blog post"},{"url":"http://docs.webplatform.org/wiki/css/properties/hyphens","title":"WebPlatform Docs"},{"url":"https://crbug.com/605840","title":"Chrome bug for implementing hyphenation"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x"},"edge":{"12":"y x","13":"y x","14":"y x","15":"y x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"a #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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.h… on the HTML element to enable hyphenation support and improve accessibility.","notes_by_num":{"1":"Only supports the \"auto\" value [on Mac for now](https://crrev.com/ed7e106e0e48b3afb160a5bdbb37649e307d2b05)."},"usage_perc_y":24.27,"usage_perc_a":58.74,"ucprefix":false,"parent":"","keywords":"hyphen,shy","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-transitions":{"title":"CSS3 Transitions","description":"Simple method of animating certain properties of an element, with ability to define property, duration, delay and timing function. ","spec":"http://www.w3.org/TR/css3-transitions/","status":"wd","links":[{"url":"http://www.webdesignerdepot.com/2010/01/css-transitions-101/","title":"Article on usage"},{"url":"http://www.css3files.com/transition/","title":"Information page"},{"url":"http://www.the-art-of-web.com/css/timing-function/","title":"Examples on timing functions"},{"url":"http://www.opera.com/docs/specs/presto2.12/css/transitions/","title":"Animation of property types support in Opera"},{"url":"http://docs.webplatform.org/wiki/css/properties/transition","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y x","10":"y"},"op_mob":{"10":"y x","11":"y x","11.1":"y x","11.5":"y x","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support listed is for `transition` properties as well as the `transitionend` event. The prefixed name in WebKit browsers is `webkitTransitionEnd`","notes_by_num":{},"usage_perc_y":94.29,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"css transition,transitionend,transition-property,transition-duration,transition-timing-function,transition-delay","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"font-feature":{"title":"CSS font-feature-settings","description":"Method of applying advanced typographic and language-specific font features to supported OpenType fonts.","spec":"http://w3.org/TR/css3-fonts/#font-rend-props","status":"cr","links":[{"url":"http://ie.microsoft.com/testdrive/Graphics/opentype/","title":"Demo pages (IE/Firefox only)"},{"url":"http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/","title":"Mozilla hacks article"},{"url":"http://html5accessibility.com/","title":"Detailed tables on accessability support"},{"url":"http://docs.webplatform.org/wiki/css/properties/font-feature-settings","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings","title":"Mozilla Developer Network"},{"url":"https://www.microsoft.com/typography/otspec/featuretags.htm","title":"OpenType layout feature tag registry"},{"url":"http://help.typekit.com/customer/portal/articles/1789736-syntax-for-opentyp…","title":"Syntax for OpenType features in CSS (Adobe Typekit Help)"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y"}},"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: http://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."},"usage_perc_y":91.68,"usage_perc_a":0.3,"ucprefix":false,"parent":"","keywords":"font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-animation":{"title":"CSS Animation","description":"Complex method of animating certain properties of an element","spec":"http://www.w3.org/TR/css3-animations/","status":"wd","links":[{"url":"http://robertnyman.com/2010/05/06/css3-animations/","title":"Blog post on usage"},{"url":"http://www.css3files.com/animation/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/animations","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y x","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{"1":"Partial support in Android browser refers to buggy behavior in different scenarios."},"usage_perc_y":94.24,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"animations,css-animations,animation-name,animation-duration,animation-delay,animation-timing-function,@keyframes,animationstart,animationend,animationiteration,css3 animation","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-gradients":{"title":"CSS Gradients","description":"Method of defining a linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/","status":"cr","links":[{"url":"http://www.colorzilla.com/gradient-editor/","title":"Cross-browser editor"},{"url":"http://www.css3files.com/gradient/","title":"Information page"},{"url":"http://css3pie.com/","title":"Tool to emulate support in IE"},{"url":"http://docs.webplatform.org/wiki/css/functions/linear-gradient","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"a x","5":"a x","5.1":"y x","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x #1","11.5":"a x #1","11.6":"y x","12":"y x","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a x","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"a x #1","11.5":"a x #1","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.14,"usage_perc_a":0.14,"ucprefix":false,"parent":"","keywords":"linear,linear-gradient,gradiant","ie_id":"gradients","chrome_id":"5785905063264256","firefox_id":"","webkit_id":""},"css-canvas":{"title":"CSS Canvas Drawings","description":"Method of using HTML5 Canvas as a background image. Not currently part of any specification.","spec":"http://webkit.org/blog/176/css-canvas-drawing/","status":"unoff","links":[{"url":"http://webkit.org/blog/176/css-canvas-drawing/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"n"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"A similar effect can be achieved in Firefox 4+ using the -moz-element() background property","notes_by_num":{},"usage_perc_y":29.29,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-reflections":{"title":"CSS Reflections","description":"Method of displaying a reflection of an element","spec":"http://webkit.org/blog/182/css-reflections/","status":"unoff","links":[{"url":"http://webkit.org/blog/182/css-reflections/","title":"Webkit blog post"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"Similar effect can be achieved in Firefox 4+ using the -moz-element() background property","notes_by_num":{},"usage_perc_y":72.31,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"box-reflect","ie_id":"","chrome_id":"5627300510957568","firefox_id":"","webkit_id":""},"css-masks":{"title":"CSS Masks","description":"Method of displaying part of an element, using a selected image as a mask","spec":"http://www.w3.org/TR/css-masking-1/","status":"cr","links":[{"url":"http://docs.webplatform.org/wiki/css/properties/mask","title":"WebPlatform Docs"},{"url":"http://www.html5rocks.com/en/tutorials/masking/adobe/","title":"HTML5 Rocks article"},{"url":"http://thenittygritty.co/css-masking","title":"Detailed blog post"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1224422","title":"Firefox implementation bug"},{"url":"http://lab.iamvdo.me/css-svg-masks","title":"Visual test cases"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"a #2","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"a x #1","5":"a x #1","5.1":"a x #1","6":"a x #1","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a x #1","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"a x #1","4.2-4.3":"a x #1","5.0-5.1":"a x #1","6.0-6.1":"a x #1","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1 #3","2.2":"a x #1 #3","2.3":"a x #1 #3","3":"a x #1 #3","4":"a x #1 #3","4.1":"a x #1 #3","4.2-4.3":"a x #1 #3","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"a x #1","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"a #2"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","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"},"usage_perc_y":0.01,"usage_perc_a":88.22,"ucprefix":false,"parent":"","keywords":"clip,clip-path,clip-rule,mask,mask-border,mask-clip,mask-image,mask-mode,mask-type","ie_id":"masks","chrome_id":"5381559662149632","firefox_id":"","webkit_id":""},"console-basic":{"title":"Basic console logging functions","description":"Method of outputting data to the browser's console, intended for development purposes.","spec":"https://console.spec.whatwg.org/","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Console","title":"MDN article"},{"url":"https://developer.chrome.com/devtools/docs/console-api","title":"Chrome console reference"},{"url":"https://developer.apple.com/library/mac/documentation/AppleApplications/Con…","title":"Safari console reference"},{"url":"https://msdn.microsoft.com/en-us/library/hh772169","title":"Edge/Internet Explorer console reference"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y #3","7.0-7.1":"y #3","8":"y #3","8.1-8.4":"y #3","9.0-9.2":"y #3","9.3":"y #3","10.0-10.2":"y #3"},"op_mini":{"all":"y #6"},"android":{"2.1":"y #4","2.2":"y #4","2.3":"y #4","3":"y #4","4":"y #4","4.1":"y #4","4.2-4.3":"y #4","4.4":"y #4","4.4.3-4.4.4":"y #4","53":"y #4"},"bb":{"7":"n #2","10":"n #2"},"op_mob":{"10":"n","11":"n #2","11.1":"n #2","11.5":"n #2","12":"n #2","12.1":"n #2","37":"n #2"},"and_chr":{"56":"y #4"},"and_ff":{"51":"y #5"},"ie_mob":{"10":"n #2","11":"n #2"},"and_uc":{"11":"n #2"},"samsung":{"4":"y #4"},"and_qq":{"1.2":"y"}},"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](http://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/Deb…","6":"See [this article](https://dev.opera.com/articles/opera-mini-and-javascript/) for details on how to see console logging in Opera Mini"},"usage_perc_y":87.83,"usage_perc_a":0.62,"ucprefix":false,"parent":"","keywords":"console.log,console.info,console.warn,console.error,window.console","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg":{"title":"SVG (basic support)","description":"Method of displaying basic Vector Graphics features using the embed or object elements. Refers to the SVG 1.1 spec.","spec":"http://www.w3.org/TR/SVG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Scalable_Vector_Graphics","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-…","title":"A List Apart article"},{"url":"http://svg-wow.org/","title":"SVG showcase site"},{"url":"http://code.google.com/p/svgweb/","title":"SVG Web: Flash-based polyfill"},{"url":"https://github.com/SVG-Edit/svgedit","title":"Web-based SVG editor"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg","title":"has.js test"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y #2","10":"y #2","11":"y #2"},"edge":{"12":"y #2","13":"y #2","14":"y #2","15":"y #2"},"firefox":{"2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #2","11":"y #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in Android 3 & 4 refers to not supporting masking.","2":"IE9-11 desktop & mobile don't properly scale SVG files. [Adding height, width, viewBox, and CSS rules](http://codepen.io/tomByrer/pen/qEBbzw?editors=110) seem to be the best workaround."},"usage_perc_y":97.23,"usage_perc_a":0.71,"ucprefix":false,"parent":"","keywords":"rect,circle,ellipse,line,polyline,polygon,defs,symbol,use,tspan,tref,textpath,stroke-dasharray,stroke-dashoffset","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-css":{"title":"SVG in CSS backgrounds","description":"Method of using SVG images as CSS backgrounds","spec":"http://www.w3.org/TR/css3-background/#background-image","status":"cr","links":[{"url":"http://www.sitepoint.com/a-farewell-to-css3-gradients/","title":"Tutorial for advanced effects"}],"categories":["CSS3","SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"a #1","4":"a #1","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":94.34,"usage_perc_a":3.52,"ucprefix":false,"parent":"","keywords":"svg-in-css,svgincss,css-svg","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-smil":{"title":"SVG SMIL animation","description":"Method of using animation elements to animate SVG images","spec":"http://www.w3.org/TR/SVG/animate.html","status":"rec","links":[{"url":"http://svg-wow.org/blog/category/animation/","title":"Examples on SVG WOW"},{"url":"https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL","title":"MDN article"},{"url":"http://leunen.me/fakesmile/","title":"JS library to support SMIL in SVG"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg-smil","title":"has.js test"},{"url":"https://github.com/madsgraphics/SVGEventListener","title":"Polyfill for SMIL animate events on SVG"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2","56":"y #2","57":"y #2","58":"y #2","59":"y #2"},"safari":{"3.1":"p","3.2":"p","4":"a #1","5":"a #1","5.1":"a #1","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y #2","37":"y #2","38":"y #2","39":"y #2","40":"y #2","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y #2"}},"notes":"","notes_by_num":{"1":"Partial support in older Safari versions refers to not working in HTML files or CSS background images.","2":"As of Chrome 45 & Opera 32 SMIL is deprecated and usage will result in a warning in the console. Support is expected to be dropped in some future version."},"usage_perc_y":88.26,"usage_perc_a":0.1,"ucprefix":false,"parent":"","keywords":"svg animation","ie_id":"svgsmilanimation","chrome_id":"","firefox_id":"","webkit_id":""},"svg-fonts":{"title":"SVG fonts","description":"Method of using fonts defined as SVG shapes. Removed from [SVG 2.0](http://www.w3.org/TR/SVG2/changes.html#fonts) and considered as a deprecated feature with support being removed from browsers.","spec":"http://www.w3.org/TR/SVG/fonts.html","status":"unoff","links":[{"url":"http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different","title":"Blog post"},{"url":"http://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safar…","title":"Blog post on usage for iPad"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"n #1","39":"n #1","40":"n #1","41":"n #1","42":"n #1","43":"n #1","44":"n #1","45":"n #1","46":"n #1","47":"n #1","48":"n #1","49":"n #1","50":"n #1","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"n #1","33":"n #1","34":"n #1","35":"n #1","36":"n #1","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"n"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"n #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":28.41,"usage_perc_a":0,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"5930075908210688","firefox_id":"","webkit_id":""},"svg-filters":{"title":"SVG filters","description":"Method of using photoshop-like effects on SVG objects including blurring and color manipulation.","spec":"http://www.w3.org/TR/SVG/filters.html","status":"rec","links":[{"url":"http://electricbeach.org/?p=950","title":"Experiments with filter effects"},{"url":"http://svg-wow.org/blog/category/filters/","title":"SVG filter demos"},{"url":"http://docs.webplatform.org/wiki/svg/elements/filter","title":"WebPlatform Docs"},{"url":"http://jorgeatgu.github.io/svg-filters/","title":"SVG Filter effects"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"a","6":"a","7":"a","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":96.81,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-html":{"title":"SVG effects for HTML","description":"Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element","spec":"http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement","status":"rec","links":[{"url":"https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVG","title":"MDN Tutorial"},{"url":"https://developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content","title":"MDN Reference page"},{"url":"http://www.w3.org/TR/filter-effects/","title":"Filter Effects draft"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"notes":"Partial support refers to lack of filter support or buggy result from effects. A [CSS Filter Effects](http://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://developer.microsoft.com/en-us/microsoft-edge/platform/issue…"},"usage_perc_y":6.68,"usage_perc_a":77.49,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-html5":{"title":"Inline SVG in HTML5","description":"Method of using SVG tags directly in HTML documents. Requires HTML5 parser.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0","status":"ls","links":[{"url":"http://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-spee…","title":"Mozilla Hacks blog post"},{"url":"http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?ur…","title":"Test suite"}],"categories":["HTML5","SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y #1","6":"y #1","6.1":"y #1","7":"y #1","7.1":"y #1","8":"y #1","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y #1","6.0-6.1":"y #1","7.0-7.1":"y #1","8":"y #1","8.1-8.4":"y #1","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y #1","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not support CSS transforms on SVG elements (transform attribute can be used instead)"},"usage_perc_y":97.73,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"canvas":{"title":"Canvas (basic support)","description":"Method of generating fast, dynamic graphics using JavaScript.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element","status":"ls","links":[{"url":"https://developer.mozilla.org/en/Canvas_tutorial","title":"Tutorial by Mozilla"},{"url":"http://glimr.rubyforge.org/cake/canvas.html","title":"Animation kit"},{"url":"http://diveintohtml5.info/canvas.html","title":"Another tutorial"},{"url":"http://explorercanvas.googlecode.com/","title":"Implementation for Internet Explorer"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas","title":"has.js test"},{"url":"https://skilled.co/html-canvas/","title":"Canvas Tutorial & Cheat Sheet"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #2"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"For screen readers, IE, Chrome & Firefox support the [accessible canvas element sub-DOM](http://www.paciellogroup.com/blog/2012/06/html5-canvas-accessibili… & 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."},"usage_perc_y":94.58,"usage_perc_a":3.36,"ucprefix":false,"parent":"","keywords":"toDataURL()","ie_id":"canvas","chrome_id":"5100084685438976","firefox_id":"","webkit_id":""},"canvas-text":{"title":"Text API for Canvas","description":"Method of displaying text on Canvas elements","spec":"https://html.spec.whatwg.org/multipage/scripting.html#drawing-text-to-the-b…","status":"ls","links":[{"url":"https://developer.mozilla.org/en/Drawing_text_using_a_canvas#Additional_exa…","title":"Examples by Mozilla"},{"url":"http://code.google.com/p/canvas-text/","title":"Support library"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas-t…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/canvas/CanvasRenderingContext2D/fillT…","title":"WebPlatform Docs"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.55,"usage_perc_a":0,"ucprefix":false,"parent":"canvas","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"namevalue-storage":{"title":"Web Storage - name/value pairs","description":"Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).","spec":"https://html.spec.whatwg.org/multipage/webstorage.html#storage","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API","title":"MDN article"},{"url":"http://code.google.com/p/sessionstorage/","title":"Support library"},{"url":"http://html5demos.com/storage","title":"Simple demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-l…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/web-storage/Storage/localStorage","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.93,"usage_perc_a":0.05,"ucprefix":false,"parent":"","keywords":"webstorage,local storage","ie_id":"webstorage","chrome_id":"5345825534246912","firefox_id":"","webkit_id":""},"sql-storage":{"title":"Web SQL Database","description":"Method of storing data client-side, allows Sqlite database queries for access and manipulation","spec":"http://www.w3.org/TR/webdatabase/","status":"unoff","links":[{"url":"http://html5doctor.com/introducing-web-sql-databases/","title":"HTML5 Doctor article"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-s…","title":"has.js test"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"The Web SQL Database specification is no longer being maintained and support may be dropped in future versions.","notes_by_num":{},"usage_perc_y":81.67,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"db-storage,websql","ie_id":"websqldatabase","chrome_id":"6330987952734208","firefox_id":"","webkit_id":""},"indexeddb":{"title":"IndexedDB","description":"Method of storing data client-side, allows indexed database queries.","spec":"http://www.w3.org/TR/IndexedDB/","status":"rec","links":[{"url":"http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/","title":"Mozilla Hacks article"},{"url":"https://github.com/axemclion/IndexedDBShim","title":"Polyfill for browsers supporting WebSQL"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-i…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/indexedDB","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"n","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"n","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"p"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in IE 10 & 11 refers to a number of subfeatures [not being supported](http://codepen.io/cemerick/pen/Itymi).","2":"Partial support in Safari & iOS 8 & 9 refers to [seriously buggy behavior](http://www.raymondcamden.com/2014/09/25/IndexedDB-on-iOS-8-Broken… as well as complete lack of support in WebViews."},"usage_perc_y":75.6,"usage_perc_a":8.09,"ucprefix":false,"parent":"","keywords":"indexdb","ie_id":"indexeddb","chrome_id":"6507459568992256","firefox_id":"indexeddb","webkit_id":"specification-indexed-database"},"online-status":{"title":"Online/offline status","description":"Events to indicate when the user's connected (`online` and `offline` events) and the `navigator.onLine` property to see current status.","spec":"https://html.spec.whatwg.org/multipage/browsers.html#browser-state","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine.onLine#Spe…","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #2","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"a #3","16":"a #3","17":"a #3","18":"a #3","19":"a #3","20":"a #3","21":"a #3","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"a","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{"0":"Safari 7.0 supports only the event listener on `window`, and not on `document.body`","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."},"usage_perc_y":84.55,"usage_perc_a":10.25,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"eventsource":{"title":"Server-sent events","description":"Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)","spec":"https://html.spec.whatwg.org/multipage/comms.html#server-sent-events","status":"ls","links":[{"url":"http://www.html5rocks.com/tutorials/eventsource/basics/","title":"HTML5 Rocks tutorial"},{"url":"http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-wit…","title":"Blog post with demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-e…","title":"has.js test"},{"url":"https://github.com/Yaffle/EventSource","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":87.59,"usage_perc_a":0.05,"ucprefix":false,"parent":"","keywords":"serversent,s-sent-events","ie_id":"serversenteventseventsource","chrome_id":"5311740673785856","firefox_id":"","webkit_id":""},"x-doc-messaging":{"title":"Cross-document messaging","description":"Method of sending information from a page on one domain to a page on a different one (using postMessage)","spec":"https://html.spec.whatwg.org/multipage/comms.html#crossDocumentMessages","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/window.postMessage","title":"MDN article"},{"url":"http://html5demos.com/postmessage2","title":"Simple demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-c…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/web-messaging/MessagePort/postMessage","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #2","11":"a #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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](http://stackoverflow.com/questions/16226924/is-cross-origin-pos…."},"usage_perc_y":93.39,"usage_perc_a":4.89,"ucprefix":false,"parent":"","keywords":"","ie_id":"postmessage","chrome_id":"4786174115708928","firefox_id":"","webkit_id":""},"sni":{"title":"Server Name Indication","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.","spec":"https://tools.ietf.org/html/rfc6066","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/Server_Name_Indication","title":"Wikipedia"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Only supported on Windows Vista or above (not Windows XP)"},"usage_perc_y":97.88,"usage_perc_a":0.4,"ucprefix":false,"parent":"","keywords":"sni","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"datauri":{"title":"Data URIs","description":"Method of embedding images and other files in webpages as a string of text, generally using base64 encoding.","spec":"https://tools.ietf.org/html/rfc2397","status":"other","links":[{"url":"http://css-tricks.com/data-uris/","title":"Information page"},{"url":"http://en.wikipedia.org/wiki/data_URI_scheme","title":"Wikipedia"},{"url":"http://www.websiteoptimization.com/speed/tweak/inline-images/","title":"Data URL converter"},{"url":"http://klevjers.com/papers/phishing.pdf","title":"Information on security issues"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #2","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":91.74,"usage_perc_a":6.58,"ucprefix":false,"parent":"","keywords":"data url,datauris,data uri,dataurl,dataurls,base64","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"wav":{"title":"Wav audio format","description":"Waveform Audio File Format, aka WAV or WAVE, a typically uncompressed audio format. ","spec":"http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/WAVE/WAVE.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/WAV","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{},"usage_perc_y":90.02,"usage_perc_a":0,"ucprefix":false,"parent":"audio","keywords":"","ie_id":"wavaudiosupport","chrome_id":"","firefox_id":"","webkit_id":""},"mathml":{"title":"MathML","description":"Special tags that allow mathematical formulas and notations to be written on web pages.","spec":"http://www.w3.org/TR/MathML/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/MathML","title":"Wikipedia"},{"url":"http://www.mozilla.org/projects/mathml/demo/","title":"MathML demos"},{"url":"http://www.mathjax.org","title":"Cross-browser support script"},{"url":"https://developer.mozilla.org/en/MathML/Element","title":"MDN element reference"},{"url":"https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/MathML_Tort…","title":"MathML torture test"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"y #1","3":"y #1","3.5":"y #1","3.6":"y #1","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"y","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p","56":"p","57":"p","58":"p","59":"p"},"safari":{"3.1":"a #2","3.2":"a #2","4":"a #2","5":"a #2","5.1":"a #2","6":"a #2","6.1":"a #2","7":"a #2","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"p"},"and_chr":{"56":"p"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a"},"samsung":{"4":"p"},"and_qq":{"1.2":"p"}},"notes":"Opera's support is limited to a CSS profile of MathML. Support was added in Chrome 24, but 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"},"usage_perc_y":18.15,"usage_perc_a":10.2,"ucprefix":false,"parent":"","keywords":"","ie_id":"mathml","chrome_id":"5240822173794304","firefox_id":"","webkit_id":""},"css-featurequeries":{"title":"CSS Feature Queries","description":"CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule.","spec":"http://www.w3.org/TR/css3-conditional/#at-supports","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@supports","title":"MDN Article"},{"url":"http://mcc.id.au/blog/2012/08/supports","title":"@supports in Firefox"},{"url":"http://dabblet.com/gist/3895764","title":"Test case"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@supports","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See also the [CSS.supports() DOM API](#feat=css-supports-api)","notes_by_num":{},"usage_perc_y":81.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"supports,conditional","ie_id":"conditionalrules","chrome_id":"4993981813358592","firefox_id":"","webkit_id":""},"xhtml":{"title":"XHTML served as application/xhtml+xml","description":"A strict form of HTML, and allows embedding of other XML languages","spec":"https://html.spec.whatwg.org/multipage/xhtml.html#parsing-xhtml-documents","status":"ls","links":[{"url":"http://en.wikipedia.org/wiki/XHTML","title":"Wikipedia"},{"url":"http://www.xmlplease.com/xhtml/xhtml5polyglot/","title":"Information on XHTML5"},{"url":"http://docs.webplatform.org/wiki/concepts/internet_and_web/the_web_standard…","title":"WebPlatform Docs"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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_versu…) served as text/html on the web.","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"xhtml+xml","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"xhtmlsmil":{"title":"XHTML+SMIL animation","description":"Method of using SMIL animation in web pages","spec":"http://www.w3.org/TR/XHTMLplusSMIL/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/XHTML%2BSMIL","title":"Wikipedia"},{"url":"http://leunen.me/fakesmile/","title":"JS library to support XHTML+SMIL"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"a","7":"a","8":"a","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p","56":"p","57":"p","58":"p","59":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"p"},"and_chr":{"56":"p"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"p"},"samsung":{"4":"p"},"and_qq":{"1.2":"p"}},"notes":"Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0.42,"ucprefix":false,"parent":"xhtml","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"wai-aria":{"title":"WAI-ARIA Accessibility features","description":"Method of providing ways for people with disabilities to use dynamic web content and web applications.","spec":"http://www.w3.org/TR/wai-aria/","status":"rec","links":[{"url":"http://www.w3.org/WAI/intro/aria","title":"Information page"},{"url":"http://www.paciellogroup.com/blog/2011/10/browser-assistive-technology-test…","title":"Links to various test results"},{"url":"http://en.wikipedia.org/wiki/WAI-ARIA","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/the-accessibility-of-wai-aria/","title":"ALA Article"},{"url":"http://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yet","title":"HTML5/WAI-ARIA information"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"n"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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](http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report)\r\n","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":88.33,"ucprefix":false,"parent":"","keywords":"wai,aria","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"geolocation":{"title":"Geolocation","description":"Method of informing a website of the user's geographical location","spec":"http://www.w3.org/TR/geolocation-API/","status":"rec","links":[{"url":"http://html5demos.com/geo","title":"Simple demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-g…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/geolocation","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y #1","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y #1"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y #1"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y #1"}},"notes":"","notes_by_num":{"1":"Only works on secure (https) servers"},"usage_perc_y":94.52,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"geolocation","chrome_id":"6348855016685568","firefox_id":"","webkit_id":""},"flexbox":{"title":"Flexible Box Layout Module","description":"Method of positioning elements in horizontal or vertical stacks. Support includes the support for the all properties prefixed with `flex` as well as `display: flex`, `display: inline-flex`, `align-content`, `align-items`, `align-self`, `justify-content` and `order`.","spec":"http://www.w3.org/TR/css3-flexbox/","status":"cr","links":[{"url":"http://bennettfeely.com/flexplorer/","title":"Flexbox CSS generator"},{"url":"http://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spe…","title":"Article on using the latest spec"},{"url":"https://dev.opera.com/articles/view/advanced-cross-browser-flexbox/","title":"Tutorial on cross-browser support"},{"url":"http://philipwalton.github.io/solved-by-flexbox/","title":"Examples on how to solve common layout problems with flexbox"},{"url":"http://css-tricks.com/snippets/css/a-guide-to-flexbox/","title":"A Complete Guide to Flexbox"},{"url":"http://the-echoplex.net/flexyboxes/","title":"Flexbox playground and code generator"},{"url":"https://github.com/philipwalton/flexbugs","title":"Flexbugs: Repo for flexbox bugs"},{"url":"https://github.com/10up/flexibility/","title":"10up Open Sources IE 8 and 9 Support for Flexbox"},{"url":"https://github.com/vadimyer/ecligrid","title":"Ecligrid - Mobile first flexbox grid system"},{"url":"http://gedd.ski/post/the-difference-between-width-and-flex-basis/","title":"The Difference Between Width and Flex-Basis"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #2 #4","11":"a #4"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x #1","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a x #1","3.2":"a x #1","4":"a x #1","5":"a x #1","5.1":"a x #1","6":"a x #1","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y x","16":"y x","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"a x #1","4.2-4.3":"a x #1","5.0-5.1":"a x #1","6.0-6.1":"a x #1","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"a x #1","4.1":"a x #1","4.2-4.3":"a x #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a x #1","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x #2","11":"y"},"and_uc":{"11":"a x #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Most partial support refers to supporting an [older version](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/) of the specification or an [older syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/).","notes_by_num":{"1":"Only supports the [old flexbox](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723) specification and does not support wrapping.","2":"Only supports the [2012 syntax](http://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)"},"usage_perc_y":83.12,"usage_perc_a":14.49,"ucprefix":false,"parent":"","keywords":"flex-box,flex-direction,flex-wrap,flex-flow,flex-grow,flex-basis,display:flex,flex box","ie_id":"flexbox","chrome_id":"4837301406400512","firefox_id":"","webkit_id":""},"webgl":{"title":"WebGL - 3D Canvas graphics","description":"Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware","spec":"https://www.khronos.org/registry/webgl/specs/1.0/","status":"other","links":[{"url":"http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation","title":"Instructions on enabling WebGL"},{"url":"http://www.khronos.org/webgl/wiki/Tutorial","title":"Tutorial"},{"url":"http://hacks.mozilla.org/2009/12/webgl-draft-released-today/","title":"Firefox blog post"},{"url":"http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/","title":"Webkit blog post"},{"url":"https://github.com/iewebgl/iewebgl","title":"Polyfill for IE"}],"categories":["Canvas"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"a","12.1":"a","37":"y"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"p","11":"y #1"},"and_uc":{"11":"y #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support listed as \"partial\" refers to the fact that not all users with these browsers have WebGL access. This is due to the additional requirement for users to have [up to date video drivers](http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists). This problem was [solved in Chrome on Windows](http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-en… as of version 18.\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\""},"usage_perc_y":57.87,"usage_perc_a":33.25,"ucprefix":false,"parent":"canvas","keywords":"web gl","ie_id":"webglcanvas3d,webglinstancingextension","chrome_id":"6049512976023552","firefox_id":"webgl-1","webkit_id":"specification-webgl-1"},"fileapi":{"title":"File API","description":"Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.","spec":"http://www.w3.org/TR/FileAPI/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Using_files_from_web_applications","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/apis/file","title":"WebPlatform Docs"},{"url":"https://github.com/moxiecode/moxie","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"a #1 #2","7":"a #1 #2","8":"a #1 #2","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2","12":"a #1 #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #1 #2","6":"a #2","6.1":"a #2","7":"a #2","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"a #2","7.0-7.1":"a #2","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1 #2","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"a #2","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2","10":"a #2"},"op_mob":{"10":"n","11":"n","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"a #2"},"and_uc":{"11":"a #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not have `FileReader` support. ","2":"Does not support the `File` constructor"},"usage_perc_y":73.65,"usage_perc_a":20.49,"ucprefix":false,"parent":"","keywords":"FileReader","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"shadowdom":{"title":"Shadow DOM v0","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.","spec":"http://www.w3.org/TR/shadow-dom/","status":"wd","links":[{"url":"http://html5-demos.appspot.com/static/shadowdom-visualizer/index.html","title":"Shadow DOM Visualizer"},{"url":"http://www.html5rocks.com/tutorials/webcomponents/shadowdom/","title":"HTML5Rocks - Shadow DOM 101 article"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=148695","title":"Safari implementation bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1205323","title":"Firefox implementation bug"},{"url":"https://developers.google.com/web/fundamentals/getting-started/primers/shad…","title":"Google Developers - Shadow DOM v1: self-contained web components"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Firefox behind the `dom.webcomponents.enabled` flag."},"usage_perc_y":59.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components","ie_id":"shadowdom","chrome_id":"4507242028072960","firefox_id":"shadow-dom","webkit_id":"feature-shadow-dom"},"websockets":{"title":"Web Sockets","description":"Bidirectional communication technology for web apps","spec":"https://html.spec.whatwg.org/multipage/comms.html#network","status":"ls","links":[{"url":"http://websocket.org/aboutwebsocket.html","title":"WebSockets information"},{"url":"http://updates.html5rocks.com/2011/08/What-s-different-in-the-new-WebSocket…","title":"Details on newer protocol"},{"url":"http://en.wikipedia.org/wiki/WebSocket","title":"Wikipedia"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-w…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/websocket","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #1","5":"a #1","6":"a x #2","7":"a x #2","8":"a x #2","9":"a x #2","10":"a x #2","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #2","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"a #1","6":"a #2","6.1":"a #2","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y #1","10":"y"},"op_mob":{"10":"n","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":93.27,"usage_perc_a":0.3,"ucprefix":true,"parent":"","keywords":"","ie_id":"websocket","chrome_id":"6555138000945152","firefox_id":"websocket","webkit_id":""},"hidden":{"title":"hidden attribute","description":"The `hidden` attribute may be applied to any element, and effectively hides elements similar to `display: none` in CSS.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute","status":"ls","links":[{"url":"http://davidwalsh.name/html5-hidden","title":"Article on hidden attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"The hidden state can be easily overridden with a CSS `display` property set to anything other than `none`.","notes_by_num":{},"usage_perc_y":97.13,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"script-async":{"title":"async attribute for external scripts","description":"The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async","status":"ls","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Default.html","title":"Demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-asy…","title":"has.js test"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Using script.async = false; to maintain execution order for dynamically-added scripts isn't supported in Safari 5.0"},"usage_perc_y":94.12,"usage_perc_a":0.04,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mediasource":{"title":"Media Source Extensions","description":"API allowing media data to be accessed from HTML `video` and `audio` elements.","spec":"http://www.w3.org/TR/media-source/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/MediaSource#Browser_compat…","title":"MDN article"},{"url":"https://msdn.microsoft.com/en-us/library/dn594470%28v=vs.85%29.aspx","title":"MSDN article"},{"url":"http://html5-demos.appspot.com/static/media-source.html","title":"MediaSource demo"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n d","18":"n d","19":"n d","20":"n d","21":"n d","22":"n d","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the `media.mediasource.enabled` flag to be enabled, support is limited to a whitelist including the YouTube, Netflix, and Dailymotion websites","2":"Partial support in IE11 refers to only working in Windows 8+"},"usage_perc_y":68.51,"usage_perc_a":3.56,"ucprefix":false,"parent":"","keywords":"sourcebuffer,endofstream,mse","ie_id":"mediasourceextensions","chrome_id":"4563797888991232","firefox_id":"mse","webkit_id":""},"cors":{"title":"Cross-Origin Resource Sharing","description":"Method of performing XMLHttpRequests across domains","spec":"https://fetch.spec.whatwg.org/#http-cors-protocol","status":"ls","links":[{"url":"http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/","title":"Mozilla Hacks blog post"},{"url":"http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx","title":"Alternative implementation by IE8"},{"url":"https://dev.opera.com/articles/view/dom-access-control-using-cross-origin-r…","title":"DOM access using CORS"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-c…","title":"has.js test"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #2","9":"a #2","10":"a #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"a #1 #3","5":"a #1 #3","5.1":"a #1 #3","6":"y #3","6.1":"y #3","7":"y #3","7.1":"y #3","8":"y #3","9":"y #3","9.1":"y #3","10":"y #3","10.1":"y #3","TP":"y #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1 #3","4.0-4.1":"a #1 #3","4.2-4.3":"a #1 #3","5.0-5.1":"a #1 #3","6.0-6.1":"y #3","7.0-7.1":"y #3","8":"y #3","8.1-8.4":"y #3","9.0-9.2":"y #3","9.3":"y #3","10.0-10.2":"y #3"},"op_mini":{"all":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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](http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomain…)","3":"Does not support CORS for `<video>` in `<canvas>`: https://bugs.webkit.org/show_bug.cgi?id=135379"},"usage_perc_y":93.03,"usage_perc_a":1.85,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-backdrop-filter":{"title":"CSS Backdrop Filter","description":"Method of applying filter effects (like blur, grayscale or hue) to content/elements below the target element.","spec":"http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty","status":"unoff","links":[{"url":"http://product.voxmedia.com/til/2015/2/17/8053347/css-ios-transparency-with…","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter","title":"Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge feature request"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Can be enabled via the \"Experimental Web Platform Features\" flag"},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"blue,hue-rotate,invert,saturate,filter","ie_id":"backdropfilter","chrome_id":"5679432723333120","firefox_id":"","webkit_id":"feature-filter-effects-backdrop-filter-propery"},"calc":{"title":"calc() as CSS unit value","description":"Method of allowing calculated values for length units, i.e. `width: calc(100% - 3em)`","spec":"http://www.w3.org/TR/css3-values/#calc","status":"cr","links":[{"url":"http://hacks.mozilla.org/2010/06/css3-calc/","title":"Mozilla Hacks article"},{"url":"https://developer.mozilla.org/en/docs/Web/CSS/calc","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/functions/calc","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #2","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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](http://ejohn.org/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."},"usage_perc_y":82.3,"usage_perc_a":1.93,"ucprefix":false,"parent":"","keywords":"","ie_id":"csscalc","chrome_id":"5765241438732288","firefox_id":"","webkit_id":""},"dom-range":{"title":"Document Object Model Range","description":"A contiguous range of content in a Document, DocumentFragment or Attr","spec":"https://dom.spec.whatwg.org/#ranges","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Range","title":"MDN"},{"url":"http://www.quirksmode.org/dom/range_intro.html","title":"QuirksMode"},{"url":"https://github.com/timdown/rangy","title":"\"Rangy\" Range library with old IE support"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Range) for feature support details","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"DOM,range,selection","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ruby":{"title":"Ruby annotation","description":"Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).","spec":"https://html.spec.whatwg.org/multipage/semantics.html#the-ruby-element","status":"ls","links":[{"url":"http://html5doctor.com/ruby-rt-rp-element/","title":"HTML5 Doctor article"},{"url":"http://docs.webplatform.org/wiki/html/elements/ruby","title":"WebPlatform Docs"},{"url":"https://addons.mozilla.org/firefox/addon/1935/","title":"Add-on \"XHTML Ruby Support\" for Firefox"},{"url":"https://addons.mozilla.org/firefox/addon/6812/","title":"Addon \"HTML Ruby\" for Firefox support"},{"url":"http://www.w3.org/TR/css-ruby-1/","title":"CSS specification"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"p","10":"a"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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://msdn.microsoft.com/en-us/library/hh772055%28v=vs.85%29.… of an older version of the CSS Ruby specification."},"usage_perc_y":6.24,"usage_perc_a":88.12,"ucprefix":false,"parent":"","keywords":"ruby-base,ruby-text,ruby-position,ruby-merge,ruby-align","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-opacity":{"title":"CSS3 Opacity","description":"Method of setting the transparency level of an element","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"http://www.css3files.com/color/#opacity","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/opacity","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":97.94,"usage_perc_a":0.43,"ucprefix":false,"parent":"","keywords":"transparent,transparency,alpha","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"form-validation":{"title":"Form validation","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#client-side-form-validati…","status":"ls","links":[{"url":"http://docs.webplatform.org/wiki/html/attributes/required","title":"WebPlatform Docs"},{"url":"https://webkit.org/blog/7099/html-interactive-form-validation/","title":"WebKit Blog: HTML Interactive Form Validation"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #3"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to lack of notice when form with required fields is attempted to be submitted. See [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=28649).","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."},"usage_perc_y":79.82,"usage_perc_a":17.74,"ucprefix":false,"parent":"forms","keywords":"","ie_id":"","chrome_id":"6091813840486400","firefox_id":"","webkit_id":"feature-html-interactive-form-validation"},"history":{"title":"Session history management","description":"Method of manipulating the user's browser's session history in JavaScript using `history.pushState`, `history.replaceState` and the `popstate` event.","spec":"https://html.spec.whatwg.org/multipage/browsers.html#dom-history-pushstate","status":"ls","links":[{"url":"http://www.adequatelygood.com/2010/7/Saner-HTML5-History-Management","title":"Introduction to history management"},{"url":"https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history","title":"MDN article"},{"url":"http://html5demos.com/history","title":"Demo page"},{"url":"https://github.com/browserstate/history.js","title":"History.js polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-h…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/dom/History","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"n","4":"n","4.1":"n","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful.","notes_by_num":{},"usage_perc_y":84.71,"usage_perc_a":9.32,"ucprefix":false,"parent":"","keywords":"onpushstate,onreplacestate","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"json":{"title":"JSON parsing","description":"Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()","spec":"http://www.ecma-international.org/ecma-262/5.1/#sec-15.12","status":"other","links":[{"url":"https://developer.mozilla.org/En/Using_native_JSON","title":"MDN article"},{"url":"http://www.json.org/js.html","title":"JSON in JS (includes script w/support)"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/json.js#json","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/json","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":98.23,"usage_perc_a":0,"ucprefix":false,"parent":"es5","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"classlist":{"title":"classList (DOMTokenList)","description":"Method of easily manipulating classes on elements, using the DOMTokenList object.","spec":"https://dom.spec.whatwg.org/#dom-element-classlist","status":"ls","links":[{"url":"http://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/","title":"Mozilla Hacks article"},{"url":"https://github.com/eligrey/classList.js","title":"Polyfill script"},{"url":"http://docs.webplatform.org/wiki/dom/Element/classList","title":"WebPlatform Docs"},{"url":"http://www.sitepoint.com/exploring-classlist-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/classlist-api-demo.html","title":"Demo using classList"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element.classList","title":"MDN article"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"p","9":"p","10":"a #1 #2 #3","11":"a #1 #2 #3"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"a #2 #3","4":"a #2 #3","5":"a #2 #3","6":"a #2 #3","7":"a #2 #3","8":"a #2 #3","9":"a #2 #3","10":"a #2 #3","11":"a #2 #3","12":"a #2 #3","13":"a #2 #3","14":"a #2 #3","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #3","25":"a #3","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2 #3","11":"a #1 #2 #3","12":"a #1 #2 #3","13":"a #1 #2 #3","14":"a #1 #2 #3","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #2 #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"a #1 #2 #3","6":"a #1 #2 #3","6.1":"a #1 #2 #3","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"a #1 #2 #3","11.6":"a #1 #2 #3","12":"a #1 #2 #3","12.1":"a #1 #2 #3","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a #1 #2 #3","6.0-6.1":"a #1 #2 #3","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1 #2 #3"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"a #1 #2 #3","4":"a #1 #2 #3","4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2 #3","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"a #1 #2 #3","11.5":"a #1 #2 #3","12":"a #1 #2 #3","12.1":"a #1 #2 #3","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1 #2 #3","11":"a #1 #2 #3"},"and_uc":{"11":"a #1 #2 #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":79.19,"usage_perc_a":18.32,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"text-overflow":{"title":"CSS3 Text-overflow","description":"Append ellipsis when text overflows its containing element","spec":"http://www.w3.org/TR/css3-ui/#text-overflow","status":"cr","links":[{"url":"https://github.com/rmorse/AutoEllipsis","title":"jQuery polyfill for Firefox"},{"url":"https://developer.mozilla.org/En/CSS/Text-overflow","title":"MDN article"},{"url":"http://www.css3files.com/text/","title":"Information page"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-text-over…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/css/properties/text-overflow","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y x","9.5-9.6":"y x","10.0-10.1":"y x","10.5":"y x","10.6":"y x","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y x","11":"y x","11.1":"y x","11.5":"y x","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":98.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"textoverflow,ellipsis","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webm":{"title":"WebM video format","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.","spec":"http://www.webmproject.org/","status":"other","links":[{"url":"https://tools.google.com/dlpage/webmmf","title":"Codec for IE9 support"},{"url":"http://www.broken-links.com/2010/09/01/playing-webm-in-safari-with-plugins/","title":"Info on supporting WebM in Safari"},{"url":"http://webmproject.org","title":"Official website"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video-webm","title":"has.js test"},{"url":"http://perian.org/","title":"Perian :Mac OSX Webm Codec install"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"a","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"a"},"and_qq":{"1.2":"y"}},"notes":"Will work in IE9+ and Safari/MacOSX provided the user has the WebM codecs installed. Partial support indicates that at least one codec is supported but not all. MS Edge supports VP9 from MSE sources, also progressive sources are not supported by Edge.","notes_by_num":{},"usage_perc_y":69.52,"usage_perc_a":8.06,"ucprefix":false,"parent":"video","keywords":"matroska","ie_id":"webmcontainer,vp9videoplayback","chrome_id":"6362186595172352","firefox_id":"","webkit_id":""},"mpeg4":{"title":"MPEG-4/H.264 video format","description":"Commonly used video compression format.","spec":"http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC","title":"Wikipedia article"},{"url":"http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugin","title":"Firefox extension allowing support in Win7"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a #1","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #2"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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 gstreamer plug-ins 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](http://www.broken-links.com/2010/07/08/making-html5-video-work-on… to play videos.","2":"Partial supports refers to the lack of hardware acceleration."},"usage_perc_y":84.02,"usage_perc_a":10.18,"ucprefix":false,"parent":"video","keywords":"avc,mp4,mpv,mov,aac,h264","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ogv":{"title":"Ogg/Theora video format","description":"Free lossy video compression format.","spec":"http://theora.org/doc/","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/Theora","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":44.53,"usage_perc_a":0,"ucprefix":false,"parent":"video","keywords":"xiph","ie_id":"theoravideocodec,oggcontainer","chrome_id":"","firefox_id":"","webkit_id":""},"wordwrap":{"title":"CSS3 Overflow-wrap","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.","spec":"http://www.w3.org/TR/css3-text/#overflow-wrap","status":"wd","links":[{"url":"https://developer.mozilla.org/En/CSS/Word-wrap","title":"MDN article"},{"url":"http://www.css3files.com/text/#wordwrap","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/word-wrap","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=955857","title":"Bug on Firefox support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"a","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Partial support refers to requiring the legacy name \"word-wrap\" (rather than \"overflow-wrap\") to work.","notes_by_num":{},"usage_perc_y":76.61,"usage_perc_a":21.68,"ucprefix":false,"parent":"","keywords":"wordwrap,word-wrap","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"pointerlock":{"title":"PointerLock API","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. ","spec":"https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API","title":"MDN article"},{"url":"http://mdn.github.io/pointer-lock-demo","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n d","17":"n d","18":"n d","19":"n d","20":"n d","21":"n d","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":36.54,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"mouselock,pointer lock,mouse lock,requestPointerLock,pointerLockElement,exitPointerLock,movementX,movementY","ie_id":"pointerlockmouselock","chrome_id":"6753200417800192","firefox_id":"pointerlock","webkit_id":""},"object-fit":{"title":"CSS3 object-fit/object-position","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.","spec":"http://www.w3.org/TR/css3-images/","status":"cr","links":[{"url":"https://dev.opera.com/articles/view/css3-object-fit-object-position/","title":"Dev.Opera article"},{"url":"http://docs.webplatform.org/wiki/css/properties/object-fit","title":"WebPlatform Docs"},{"url":"https://github.com/bfred-it/object-fit-images/","title":"object-fit-images Polyfill for IE & Edge"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.1":"y x","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"y"},"op_mini":{"all":"y x"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"y x","11.1":"y x","11.5":"y x","12":"y x","12.1":"y x","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in Safari refers to support for `object-fit` but not `object-position`."},"usage_perc_y":77.41,"usage_perc_a":1.94,"ucprefix":false,"parent":"","keywords":"objectfit,objectposition","ie_id":"objectfitandobjectposition","chrome_id":"5302669702856704","firefox_id":"","webkit_id":""},"xhr2":{"title":"XMLHttpRequest advanced features","description":"Adds more functionality to XHR (aka AJAX) requests like file uploads, transfer progress information and the ability to send form data. Previously known as [XMLHttpRequest Level 2](http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/), these features now appear simply in the XMLHttpRequest spec.","spec":"https://xhr.spec.whatwg.org/","status":"ls","links":[{"url":"https://developer.mozilla.org/en/XMLHttpRequest/FormData","title":"MDN article on FormData"},{"url":"https://github.com/3nr1c/jUri.js","title":"Polyfill for FormData object"},{"url":"http://docs.webplatform.org/wiki/apis/xhr/XMLHttpRequest","title":"WebPlatform Docs"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a #1 #2 #3","3.6":"a #1 #2 #3","4":"a #1 #2 #3","5":"a #1 #2 #3","6":"a #1 #2","7":"a #1 #2","8":"a #1 #2","9":"a #1 #2","10":"a #2","11":"a #2","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"a #1 #2","8":"a #1 #2","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2","12":"a #1 #2","13":"a #1 #2","14":"a #1 #2","15":"a #1 #2","16":"a #1 #2","17":"a #1 #2","18":"a #1 #2","19":"a #1 #2","20":"a #1 #2","21":"a #1 #2","22":"a #1 #2","23":"a #1 #2","24":"a #1 #2","25":"a #1 #2","26":"a #1 #2","27":"a #1 #2","28":"a #1 #2","29":"a #1","30":"a #1","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1 #2","5.1":"a #1 #2","6":"a #1 #2","6.1":"a #1","7":"a #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"a #1","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #1 #2","6.0-6.1":"a #1 #2","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1 #2 #3","4":"a #1 #2 #3","4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","4.4":"a #1 #2","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2","10":"a #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a #1 #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`"},"usage_perc_y":78.02,"usage_perc_a":16.22,"ucprefix":false,"parent":"","keywords":"formdata","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"minmaxwh":{"title":"CSS min/max-width/height","description":"Method of setting a minimum or maximum width or height to an element. ","spec":"http://www.w3.org/TR/CSS21/visudet.html#min-max-widths","status":"rec","links":[{"url":"http://code.google.com/p/ie7-js/","title":"JS library with support"},{"url":"http://docs.webplatform.org/wiki/css/properties/min-width","title":"WebPlatform Docs"},{"url":"http://www.impressivewebs.com/min-max-width-height-css/","title":"CSS Basics post"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"p","6":"p","7":"y #1","8":"y #2","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`."},"usage_perc_y":98.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"min-width,min-height,max-width,max-height","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"details":{"title":"Details & Summary elements","description":"The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-details-element","status":"ls","links":[{"url":"https://mathiasbynens.be/notes/html5-details-jquery","title":"jQuery fallback script"},{"url":"https://gist.github.com/370590","title":"Fallback script"},{"url":"http://html5doctor.com/summary-figcaption-element/","title":"HTML5 Doctor article"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-d…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/details","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=591737","title":"Bug on Firefox support"},{"url":"https://github.com/javan/details-element-polyfill","title":"Details Element Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"n d #1","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"y #2 #3","13":"y #2 #3","14":"y #2 #3","15":"y #2 #3","16":"y #2 #3","17":"y #2 #3","18":"y #2 #3","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y #2","26":"y #2","27":"y #2","28":"y #2","29":"y #2","30":"y #2","31":"y #2","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"y #2","6.1":"y #2","7":"y #2","7.1":"y #2","8":"y #2","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y #2 #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":86.65,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"detailssummary","chrome_id":"5348024557502464","firefox_id":"","webkit_id":""},"text-stroke":{"title":"CSS text-stroke and text-fill","description":"Method of declaring the outline (stroke) width and color for text.","spec":"https://compat.spec.whatwg.org/#text-fill-and-stroking","status":"unoff","links":[{"url":"https://css-tricks.com/adding-stroke-to-web-text/","title":"Information & workarounds"},{"url":"http://www.westciv.com/tools/textStroke/","title":"Live editor"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-text-stroke","title":"Mozilla Developer Network article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y x #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n d #1 #2","49":"y x #1","50":"y x #1","51":"y x #1","52":"y x #1","53":"y x #1","54":"y x #1","55":"y x #1"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"a x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"n","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"y x #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"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 support the `-webkit-text-stroke` property without having support with their own prefix.","2":"Requires the `layout.css.prefixes.webkit` flag to be enabled."},"usage_perc_y":77.63,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"textstroke,stroke-color,stroke-width,text-fill-color,text-outline","ie_id":"webkittextstroke","chrome_id":"","firefox_id":"","webkit_id":""},"chacha20-poly1305":{"title":"ChaCha20-Poly1305 cipher suites for TLS","description":"A set of cipher suites used in Transport Layer Security (TLS) protocol, using ChaCha20 for symmetric encryption and Poly1305 for authentication.","spec":"https://tools.ietf.org/html/rfc7905","status":"other","links":[{"url":"https://security.googleblog.com/2014/04/speeding-up-and-strengthening-https…","title":"Chrome article"},{"url":"https://www.ssllabs.com/ssltest/viewMyClient.html","title":"SSL/TLS Capabilities of Your Browser by Qualys SSL Labs"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"u","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Old versions of Chrome use non-standard code points for ChaCha20-Poly1305 cipher suites."},"usage_perc_y":62.83,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"chacha20,poly1305,tls,cipher","ie_id":"","chrome_id":"5355238106071040","firefox_id":"","webkit_id":""},"inline-block":{"title":"CSS inline-block","description":"Method of displaying an element as a block while flowing it with text. ","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and…","title":"Blog post w/info"},{"url":"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/","title":"Info on cross browser support"},{"url":"http://docs.webplatform.org/wiki/css/properties/display","title":"WebPlatform Docs"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"a","6":"a #1","7":"a #1","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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-… are available to provide complete cross-browser support."},"usage_perc_y":98.3,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"inlineblock,display:inline-block","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"notifications":{"title":"Web Notifications","description":"Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).","spec":"https://notifications.spec.whatwg.org/","status":"ls","links":[{"url":"http://www.html5rocks.com/tutorials/notifications/quick/","title":"HTML5 Rocks tutorial"},{"url":"http://www.chromium.org/developers/design-documents/desktop-notifications/a…","title":"Chromium API"},{"url":"https://addons.mozilla.org/en-us/firefox/addon/221523/","title":"Add-on"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/notification","title":"MDN Notifications"},{"url":"http://www.sitepoint.com/introduction-web-notifications-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/web-notifications-api-demo.html","title":"Demo"},{"url":"http://ukot.github.io/ie_web_notifications/","title":"Plug-in for support in IE"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x","4.4.3-4.4.4":"a x","53":"a x"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Can be enabled in `about:flags`"},"usage_perc_y":38.52,"usage_perc_a":5.4,"ucprefix":false,"parent":"","keywords":"","ie_id":"webnotifications","chrome_id":"5064350557536256","firefox_id":"","webkit_id":""},"stream":{"title":"getUserMedia/Stream API","description":"Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.","spec":"http://www.w3.org/TR/mediacapture-streams/","status":"cr","links":[{"url":"https://dev.opera.com/blog/webcam-orientation-preview/","title":"Technology preview from Opera"},{"url":"http://docs.webplatform.org/wiki/dom/Navigator/getUserMedia","title":"WebPlatform Docs"},{"url":"http://blogs.windows.com/msedgedev/2015/05/13/announcing-media-capture-func…","title":"Media Capture functionality in Microsoft Edge"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a x #1","12.1":"a x #1","15":"n","16":"n","17":"n","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a x #1"},"bb":{"7":"n","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"a x #1","12.1":"a x #1","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"y x"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"u"},"and_qq":{"1.2":"a x #1"}},"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)."},"usage_perc_y":8.24,"usage_perc_a":63.3,"ucprefix":false,"parent":"","keywords":"camera,device,getUserMedia,media stream,mediastream,Media Capture API","ie_id":"mediacaptureandstreams","chrome_id":"6067380039974912,6605041225957376","firefox_id":"","webkit_id":""},"svg-img":{"title":"SVG in HTML img element","description":"Method of displaying SVG images in HTML using <img>.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html","status":"ls","links":[{"url":"http://blog.dholbert.org/2010/10/svg-as-image.html","title":"Blog post with examples"},{"url":"http://www.codedread.com/blog/","title":"Blog with SVGs an images"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"a","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to not supporting embedded images (data URIs) inside the SVG."},"usage_perc_y":95.98,"usage_perc_a":1.89,"ucprefix":false,"parent":"","keywords":"svg-as-img,svg-in-img","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"datalist":{"title":"Datalist element","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element","status":"ls","links":[{"url":"http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/","title":"Mozilla Hacks article"},{"url":"http://afarkas.github.com/webshim/demos/","title":"HTML5 Library including datalist support"},{"url":"https://developer.mozilla.org/en/HTML/Element/datalist","title":"MDN reference"},{"url":"http://docs.webplatform.org/wiki/html/elements/datalist","title":"WebPlatform Docs"},{"url":"http://demo.agektmr.com/datalist/","title":"Eiji Kitamura's options demos & tests"},{"url":"http://github.com/thgreasi/datalist-polyfill","title":"Minimal Datalist polyfill w/tutorial"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"a #3","16":"a #3","17":"a #3","18":"a #3","19":"a #3","20":"a #3","21":"a #3","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"a #3","50":"a #3","51":"a #3","52":"a #3","53":"a #3","54":"a #3","55":"a #3"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"p"},"and_chr":{"56":"y"},"and_ff":{"51":"a #3"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"a #1"}},"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://code.google.com/p/chromium/issues/detail?id=375637) where long lists of items are unscrollable resulting in unselectable options.","2":"Partial support in IE refers to [significantly buggy behavior](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))."},"usage_perc_y":39.21,"usage_perc_a":40.53,"ucprefix":false,"parent":"forms","keywords":"list attribute","ie_id":"datalistelement","chrome_id":"6090950820495360","firefox_id":"","webkit_id":""},"dataset":{"title":"dataset & data-* attributes","description":"Method of applying and accessing custom data to elements.","spec":"https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visibl…","status":"ls","links":[{"url":"http://html5doctor.com/html5-custom-data-attributes/","title":"HTML5 Doctor article"},{"url":"http://html5demos.com/dataset","title":"Demo using dataset"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-dataset","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/attributes/data-*","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset","title":"MDN Reference - dataset"},{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attribut…","title":"MDN Guide - Using data-* attributes"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge UserVoice #15885483: Support dataset and data attributes on SVG elements"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"a","5":"a","6":"a","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"y #1","6":"y #1","6.1":"y #1","7":"y #1","7.1":"y #1","8":"y #1","9":"y #1","9.1":"y #1","10":"y #1","10.1":"y #1","TP":"y #1"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"y #1","6.0-6.1":"y #1","7.0-7.1":"y #1","8":"y #1","8.1-8.4":"y #1","9.0-9.2":"y #1","9.3":"y #1","10.0-10.2":"y #1"},"op_mini":{"all":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y #1","4.4.3-4.4.4":"y #1","53":"y #1"},"bb":{"7":"y #1","10":"y #1"},"op_mob":{"10":"a","11":"a","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y #1"},"and_chr":{"56":"y #1"},"and_ff":{"51":"y #1"},"ie_mob":{"10":"a","11":"y"},"and_uc":{"11":"y #1"},"samsung":{"4":"y #1"},"and_qq":{"1.2":"y"}},"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](http://www.w3.org/2015/01/15-svg-minutes.html#item03)"},"usage_perc_y":93.86,"usage_perc_a":4.51,"ucprefix":false,"parent":"","keywords":"DOMStringMap","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-grid":{"title":"CSS Grid Layout","description":"Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for lay out into columns and rows using a set of predictable sizing behaviors","spec":"http://www.w3.org/TR/css3-grid-layout/","status":"cr","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2011/04/14/ie10-platform-preview-and-css…","title":"IE Blog post"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=60731","title":"Webkit (Chrome, Safari, etc.) feature request"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=616605","title":"Mozilla (Firefox) feature request"},{"url":"https://github.com/codler/Grid-Layout-Polyfill","title":"Polyfill based on old spec"},{"url":"https://github.com/FremyCompany/css-grid-polyfill/","title":"Polyfill based on new spec"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"a x #2","11":"a x #2"},"edge":{"12":"a x #2","13":"a x #2","14":"a x #2","15":"a x #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p d #3","41":"p d #3","42":"p d #3","43":"p d #3","44":"p d #3","45":"p d #3","46":"p d #3","47":"p d #3","48":"p d #3","49":"p d #3","50":"p d #3","51":"p d #3","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"p","26":"p","27":"p","28":"p","29":"p d #1","30":"p d #1","31":"p d #1","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"p d #1","45":"p d #1","46":"p d #1","47":"p d #1","48":"p d #1","49":"p d #1","50":"p d #1","51":"p d #1","52":"p d #1","53":"p d #1","54":"p d #1","55":"p d #1","56":"p d #1","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"p d #1","29":"p d #1","30":"p d #1","31":"p d #1","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"p"},"and_chr":{"56":"p"},"and_ff":{"51":"p"},"ie_mob":{"10":"a x #2","11":"a x #2"},"and_uc":{"11":"n"},"samsung":{"4":"p"},"and_qq":{"1.2":"p d #1"}},"notes":"Supported in WebKit Nightly with `-webkit-` prefix.","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](http://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/) of the specification.","3":"Enabled in Firefox through the `layout.css.grid.enabled ` flag"},"usage_perc_y":0.32,"usage_perc_a":5.96,"ucprefix":false,"parent":"","keywords":"grids,grid-row,grid-column,display:grid","ie_id":"grid","chrome_id":"4589636412243968","firefox_id":"grid-layout","webkit_id":"specification-css-grid-layout-level-1"},"menu":{"title":"Toolbar/context menu","description":"Method of defining a toolbar menu, a context menu or a list of (interactive) options using the <menu> element.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-menu-element","status":"ls","links":[{"url":"https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309","title":"Demo"},{"url":"https://github.com/swisnl/jQuery-contextMenu","title":"jQuery polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/events.js#event-cont…","title":"has.js test"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=746087","title":"Bug on Firefox support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n d #3","42":"n d #3","43":"n d #3","44":"n d #3","45":"n d #3","46":"n d #3","47":"n d #3","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #5","53":"n d #5","54":"n d #5","55":"n d #5","56":"n d #5","57":"n d #5","58":"n d #5","59":"n d #5"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #5","40":"n d #5","41":"n d #5","42":"n d #5","43":"n d #5","44":"n d #5","45":"n d #5"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"a #1 #4"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #5"}},"notes":"","notes_by_num":{"1":"Partial support in Firefox refers to being limited to context menus, not toolbar menus.","2":"Context menus supported in Chromium under the \"Experimental Web Platform features\" flag","3":"Context menus with a non-compliant syntax (`type=popup`) supported in Chromium under the \"Experimental Web Platform features\" flag","4":"Nested menus are not supported","5":"Context menus supported in Chromium with the \"enable-blink-features=ContextMenu\" command line flag"},"usage_perc_y":0,"usage_perc_a":6.63,"ucprefix":false,"parent":"","keywords":"contextmenu,menuitem,command","ie_id":"menuelement","chrome_id":"","firefox_id":"","webkit_id":""},"css-zoom":{"title":"CSS zoom","description":"Non-standard method of scaling content.","spec":"https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx","status":"unoff","links":[{"url":"https://css-tricks.com/almanac/properties/z/zoom/","title":"CSS Tricks"},{"url":"https://docs.webplatform.org/wiki/css/properties/zoom","title":"WebPlatform Docs"},{"url":"https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx","title":"MSDN Library"},{"url":"https://developer.apple.com/library/safari/documentation/AppleApplications/…","title":"Safari Developer Library"},{"url":"http://www.satzansatz.de/cssd/onhavinglayout.html","title":"Article explaining usage of zoom as the hack for fixing rendering bugs in IE6 and IE7."},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/zoom","title":"Mozilla Developer Network"}],"categories":["CSS"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y #1","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Originally implemented only in Internet Explorer. Although several other browsers support the property, using `transform: scale()` is the recommended solution to scale content.","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."},"usage_perc_y":88.18,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"-ms-zoom,transform,-moz-transform,-ms-transform,-webkit-transform,-o-transform,scale,css-transforms","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"rem":{"title":"rem (root em) units","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.","spec":"http://www.w3.org/TR/css3-values/#font-relative-lengths","status":"cr","links":[{"url":"http://snook.ca/archives/html_and_css/font-size-with-rem","title":"Article on usage"},{"url":"https://github.com/chuckcarpenter/REM-unit-polyfill","title":"REM Polyfill"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"a #2","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":97.31,"usage_perc_a":0.48,"ucprefix":false,"parent":"","keywords":"rems","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ttf":{"title":"TTF/OTF - TrueType and OpenType font support","description":"Support for the TrueType (.ttf) and OpenType (.otf) outline font formats in @font-face. ","spec":"http://developer.apple.com/fonts/TTRefMan/index.html","status":"other","links":[{"url":"http://stackoverflow.com/questions/17694143/what-is-the-status-of-ttf-suppo…","title":"What is the status of TTF support in Internet Explorer?"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)."},"usage_perc_y":90.07,"usage_perc_a":4.51,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"touch":{"title":"Touch events","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.","spec":"http://www.w3.org/TR/touch-events/","status":"rec","links":[{"url":"http://www.quirksmode.org/mobile/tableTouch.html","title":"Detailed support tables"},{"url":"http://www.quirksmode.org/m/tests/drag2.html","title":"Multi-touch demo"},{"url":"http://schepers.cc/getintouch","title":"Information on the spec development"},{"url":"http://msdn.microsoft.com/en-us/library/ie/hh673557(v=vs.85).aspx","title":"Internet Explorer's gesture and touch implementation."},{"url":"http://github.com/CamHenlin/TouchPolyfill","title":"Touch polyfill for supporting touch events on Internet Explorer"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Touch_events","title":"MDN \u2013 Touch events"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"n d #3","13":"n d #3","14":"n d #3","15":"n d #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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…"","3":"Can be enabled in Edge using the \"Enable touch events\" flag under `about:flags`"},"usage_perc_y":79.34,"usage_perc_a":0.5,"ucprefix":false,"parent":"","keywords":"touchstart,touchend,touchmove,touchenter,touchleave,touchcancel","ie_id":"touchevents","chrome_id":"6156165603917824","firefox_id":"","webkit_id":""},"matchesselector":{"title":"matches() DOM method","description":"Method of testing whether or not a DOM element matches a given selector. Formerly known (and largely supported with prefix) as matchesSelector.","spec":"https://dom.spec.whatwg.org/#dom-element-matches","status":"ls","links":[{"url":"https://developer.mozilla.org/en/docs/Web/API/Element/matches","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/dom/HTMLElement/matches","title":"WebPlatform Docs"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a x","10":"a x","11":"a x"},"edge":{"12":"a x","13":"a x","14":"a x","15":"a x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a x","5.1":"a x","6":"a x","6.1":"a x","7":"a x","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"a x","11.6":"a x","12":"a x","12.1":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6.0-6.1":"a x","7.0-7.1":"a x","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"a x","2.3":"a x","3":"a x","4":"a x","4.1":"a x","4.2-4.3":"a x","4.4":"a x","4.4.3-4.4.4":"a x","53":"y"},"bb":{"7":"a x","10":"a x"},"op_mob":{"10":"n","11":"n","11.1":"a x","11.5":"a x","12":"a x","12.1":"a x","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x","11":"a x"},"and_uc":{"11":"a x"},"samsung":{"4":"a x"},"and_qq":{"1.2":"y"}},"notes":"Partial support refers to supporting the older specification's \"matchesSelector\" name rather than just \"matches\".","notes_by_num":{},"usage_perc_y":71.61,"usage_perc_a":22.89,"ucprefix":false,"parent":"","keywords":" matchesSelector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"pointer-events":{"title":"CSS pointer-events (for HTML)","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. ","spec":"http://wiki.csswg.org/spec/css4-ui#pointer-events","status":"unoff","links":[{"url":"http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-und…","title":"Article & tutorial"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-pointerev…","title":"has.js test"},{"url":"https://github.com/kmewhort/pointer_events_polyfill","title":"Polyfill"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.","notes_by_num":{},"usage_perc_y":93.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"pointerevents,pointer-events:none","ie_id":"csspointerevents","chrome_id":"","firefox_id":"","webkit_id":""},"blobbuilder":{"title":"Blob constructing","description":"Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor.","spec":"http://www.w3.org/TR/FileAPI/#constructorBlob","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/BlobBuilder","title":"MDN article on BlobBuilder"},{"url":"https://developer.mozilla.org/en-US/docs/DOM/Blob","title":"MDN article on Blobs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a x","4":"a x","4.1":"a x","4.2-4.3":"a x","4.4":"a x","4.4.3-4.4.4":"a x","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Partial support refers to only supporting the now deprecated BlobBuilder to create blobs.","notes_by_num":{},"usage_perc_y":82.27,"usage_perc_a":11.78,"ucprefix":true,"parent":"fileapi","keywords":"","ie_id":"blob","chrome_id":"5328783104016384","firefox_id":"","webkit_id":""},"filereader":{"title":"FileReader API","description":"Method of reading the contents of a File or Blob object into memory","spec":"http://www.w3.org/TR/FileAPI/#dfn-filereader","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/FileReader","title":"FileReader API"},{"url":"http://docs.webplatform.org/wiki/apis/file/FileReader","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not support `readAsBinaryString`"},"usage_perc_y":90.31,"usage_perc_a":3.8,"ucprefix":false,"parent":"fileapi","keywords":"","ie_id":"filereader","chrome_id":"5171003185430528","firefox_id":"","webkit_id":""},"filesystem":{"title":"Filesystem & FileWriter API","description":"Method of reading and writing files to a sandboxed file system.","spec":"http://www.w3.org/TR/file-system-api/","status":"unoff","links":[{"url":"http://www.html5rocks.com/en/tutorials/file/filesystem/","title":"HTML5 Rocks tutorial"},{"url":"http://docs.webplatform.org/wiki/apis/filesystem","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=997471","title":"Firefox tracking bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions.","notes_by_num":{},"usage_perc_y":54.08,"usage_perc_a":0.04,"ucprefix":false,"parent":"","keywords":"filewriter,requestFileSystem","ie_id":"filewriter","chrome_id":"5452478162141184","firefox_id":"","webkit_id":""},"bloburls":{"title":"Blob URLs","description":"Method of creating URL handles to the specified File or Blob object.","spec":"http://www.w3.org/TR/FileAPI/#url","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/window.URL.createObjectURL","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.91,"usage_perc_a":0,"ucprefix":false,"parent":"fileapi","keywords":"createobjecturl,revokeobjecturl","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"rellist":{"title":"relList (DOMTokenList)","description":"Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList).","spec":"https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/DOM/DOMTokenList","title":"MDN - DOMTokenList"},{"url":"https://github.com/jwilsson/domtokenlist","title":"domtokenlist polyfill"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a #1"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"a #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Chrome and Chromium based browsers support relList on link elements, but not anchor elements"},"usage_perc_y":17.64,"usage_perc_a":50.74,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"typedarrays":{"title":"Typed Arrays","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","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-typedarray-objects","status":"other","links":[{"url":"https://developer.mozilla.org/en/javascript_typed_arrays","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #2","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a #2","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Includes support for ArrayBuffer objects.","notes_by_num":{"1":"IE10 (and IE 10&11 mobile) does not support `Uint8ClampedArray`"},"usage_perc_y":96.68,"usage_perc_a":0.76,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,dataview,arraybuffer","ie_id":"typedarrayses6","chrome_id":"5135818813341696","firefox_id":"","webkit_id":""},"deviceorientation":{"title":"DeviceOrientation & DeviceMotion events","description":"API for detecting orientation and motion events from the device running the browser.","spec":"http://www.w3.org/TR/orientation-event/","status":"cr","links":[{"url":"http://www.html5rocks.com/en/tutorials/device/orientation/","title":"HTML5 Rocks tutorial"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-o…","title":"has.js test"},{"url":"http://html5labs.interoperabilitybridges.com/prototypes/device-orientation-…","title":"DeviceOrientation implementation prototype for IE10"},{"url":"http://aurelio.audero.it/demo/device-orientation-api-demo.html","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"p","4":"p","5":"p","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"n","5":"n","6":"n","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"a"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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+."},"usage_perc_y":2.07,"usage_perc_a":89.34,"ucprefix":false,"parent":"","keywords":"","ie_id":"deviceorientation,devicemotion","chrome_id":"5874690627207168,5556931766779904","firefox_id":"device-orientation","webkit_id":""},"script-defer":{"title":"defer attribute for external scripts","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.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#attr-script-defer","status":"ls","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-def…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/attributes/defer","title":"WebPlatform Docs"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y #2","3.6":"y #2","4":"y #2","5":"y #2","6":"y #2","7":"y #2","8":"y #2","9":"y #2","10":"y #2","11":"y #2","12":"y #2","13":"y #2","14":"y #2","15":"y #2","16":"y #2","17":"y #2","18":"y #2","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y #2","26":"y #2","27":"y #2","28":"y #2","29":"y #2","30":"y #2","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":94.16,"usage_perc_a":0.68,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"nav-timing":{"title":"Navigation Timing API","description":"API for accessing timing information related to navigation and elements.","spec":"http://www.w3.org/TR/navigation-timing/","status":"rec","links":[{"url":"https://developer.mozilla.org/en/API/navigationTiming","title":"MDN article"},{"url":"http://www.html5rocks.com/en/tutorials/webperformance/basics/","title":"HTML5 Rocks tutorial"},{"url":"http://docs.webplatform.org/wiki/apis/navigation_timing","title":"WebPlatform Docs"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Removed in iOS 8.1 due to poor performance.","notes_by_num":{},"usage_perc_y":93.51,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,performance.timing","ie_id":"navigationtimingapi","chrome_id":"5584144679567360","firefox_id":"","webkit_id":""},"audio-api":{"title":"Web Audio API","description":"High-level JavaScript API for processing and synthesizing audio","spec":"http://www.w3.org/TR/webaudio/","status":"wd","links":[{"url":"https://github.com/corbanbrook/audionode.js","title":"Polyfill to support Web Audio API in Firefox"},{"url":"http://docs.webplatform.org/wiki/apis/webaudio","title":"WebPlatform Docs"},{"url":"http://www.doboism.com/projects/webaudio-compatibility/","title":"Additional browser compatibility tests for specific features"},{"url":"https://github.com/g200kg/WAAPISim","title":"Polyfill to enable Web Audio API through Firefox Audio Data api or flash"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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](http://updates.html5rocks.com/2014/07/Web-Audio-Changes-in-m36) as of version 36.","notes_by_num":{},"usage_perc_y":77.89,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web-audio,webaudio,AudioContext,AudioBuffer,AudioNode","ie_id":"webaudioapi","chrome_id":"6261718720184320","firefox_id":"webaudio","webkit_id":""},"css-regions":{"title":"CSS Regions","description":"Method of flowing content into multiple elements.","spec":"http://www.w3.org/TR/css3-regions/","status":"wd","links":[{"url":"http://html.adobe.com/webstandards/cssregions/","title":"Adobe demos and samples"},{"url":"http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected","title":"IE10 developer guide info"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@region","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=674802","title":"Firefox feature request bug"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #2","11":"a x #1 #2"},"edge":{"12":"a x #1 #2","13":"a x #1 #2","14":"a x #1 #2","15":"a x #1 #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"n d","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n d","26":"n d","27":"n d","28":"n d","29":"n d","30":"n d","31":"n d","32":"n d","33":"n d","34":"n d","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"a x #1 #2","11":"a x #1 #2"},"and_uc":{"11":"y x"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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."},"usage_perc_y":21.24,"usage_perc_a":5.99,"ucprefix":false,"parent":"","keywords":"","ie_id":"regions","chrome_id":"5655612935372800","firefox_id":"","webkit_id":""},"spellcheck-attribute":{"title":"Spellcheck attribute","description":"Attribute for `input`/`textarea` fields to enable/disable the browser's spellchecker.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#spelling-and-gramma…","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Controlling_spell_checkin…","title":"MDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"y"}},"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 the `lang` attribute. Generally spelling is based on the browser's language, not the language of the document.","notes_by_num":{},"usage_perc_y":43.08,"usage_perc_a":54.5,"ucprefix":false,"parent":"","keywords":"spelling","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"fullscreen":{"title":"Full Screen API","description":"API for allowing content (like a video or canvas element) to take up the entire screen.","spec":"https://fullscreen.spec.whatwg.org/","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/Using_full-screen_mode","title":"MDN article"},{"url":"http://jlongster.com/2011/11/21/canvas.html","title":"Blog post"},{"url":"http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/","title":"Mozilla hacks article"},{"url":"http://docs.webplatform.org/wiki/dom/Element/requestFullscreen","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a x #3"},"edge":{"12":"a #3","13":"a #3","14":"a #3","15":"a #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #3","11":"a x #1 #3","12":"a x #1 #3","13":"a x #1 #3","14":"a x #1 #3","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1 #3","36":"a x #1 #3","37":"a x #1 #3","38":"a x #1 #3","39":"a x #1 #3","40":"a x #1 #3","41":"a x #1 #3","42":"a x #1 #3","43":"a x #1 #3","44":"a x #1 #3","45":"a x #1 #3","46":"a x #1 #3","47":"a x #1 #3 #4","48":"a x #1 #3 #4","49":"a x #1 #3 #4","50":"a x #1 #3 #4","51":"a x #1 #3 #4","52":"a x #1 #3 #4","53":"a x #1 #3 #4","54":"a x #1 #3 #4","55":"a x #1 #3 #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #2 #3","21":"a x #2 #3","22":"a x #2 #3","23":"a x #2 #3","24":"a x #2 #3","25":"a x #2 #3","26":"a x #2 #3","27":"a x #2 #3","28":"a x #2 #3","29":"a x #2 #3","30":"a x #2 #3","31":"a x #2 #3","32":"a x #2 #3","33":"a x #2 #3","34":"a x #2 #3","35":"a x #2 #3","36":"a x #2 #3","37":"a x #2 #3","38":"a x #2 #3","39":"a x #2 #3","40":"a x #2 #3","41":"a x #2 #3","42":"a x #2 #3","43":"a x #2 #3","44":"a x #2 #3","45":"a x #2 #3","46":"a x #2 #3","47":"a x #2 #3","48":"a x #2 #3","49":"a x #2 #3","50":"a x #2 #3","51":"a x #2 #3","52":"a x #2 #3","53":"a x #2 #3","54":"a x #2 #3","55":"a x #2 #3","56":"a x #2 #3","57":"a x #2 #3","58":"a x #2 #3","59":"a x #2 #3"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a x #1 #3","6":"a x #2 #3","6.1":"a x #2 #3","7":"a x #2 #3","7.1":"a x #2 #3","8":"a x #2 #3","9":"a x #2 #3","9.1":"a x #2 #3","10":"a x #2 #3","10.1":"a x #2 #3","TP":"a x #2 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"a x #2 #3","16":"a x #2 #3","17":"a x #2 #3","18":"a x #2 #3","19":"a x #2 #3","20":"a x #2 #3","21":"a x #2 #3","22":"a x #2 #3","23":"a x #2 #3","24":"a x #2 #3","25":"a x #2 #3","26":"a x #2 #3","27":"a x #2 #3","28":"a x #2 #3","29":"a x #2 #3","30":"a x #2 #3","31":"a x #2 #3","32":"a x #2 #3","33":"a x #2 #3","34":"a x #2 #3","35":"a x #2 #3","36":"a x #2 #3","37":"a x #2 #3","38":"a x #2 #3","39":"a x #2 #3","40":"a x #2 #3","41":"a x #2 #3","42":"a x #2 #3","43":"a x #2 #3","44":"a x #2 #3","45":"a x #2 #3"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"a x #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #2 #3"},"and_chr":{"56":"a x #2 #3"},"and_ff":{"51":"a x #1 #3 #4"},"ie_mob":{"10":"n","11":"a x #3"},"and_uc":{"11":"n"},"samsung":{"4":"a x #2 #3"},"and_qq":{"1.2":"a x #2 #3"}},"notes":"","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"},"usage_perc_y":0.07,"usage_perc_a":72.19,"ucprefix":false,"parent":"","keywords":"full-screen","ie_id":"fullscreenapi","chrome_id":"5259513871466496","firefox_id":"fullscreen","webkit_id":""},"css-exclusions":{"title":"CSS Exclusions Level 1","description":"Exclusions defines how inline content flows around elements. It extends the content wrapping ability of floats to any block-level element.","spec":"http://www.w3.org/TR/css3-exclusions/","status":"wd","links":[{"url":"https://msdn.microsoft.com/en-us/library/ie/hh673558(v=vs.85).aspx","title":"CSS Exclusions"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=674804","title":"Firefox tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=57311","title":"WebKit tracking bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x"},"edge":{"12":"y x","13":"y x","14":"y x","15":"y x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y x","11":"y x"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":5.96,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"floats,exclusions,wrap-flow,wrap-through","ie_id":"exclusions","chrome_id":"6296903092273152","firefox_id":"","webkit_id":""},"requestanimationframe":{"title":"requestAnimationFrame","description":"API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts. Also covers support for `cancelAnimationFrame`","spec":"https://html.spec.whatwg.org/multipage/webappapis.html#animation-frames","status":"ls","links":[{"url":"http://paulirish.com/2011/requestanimationframe-for-smart-animating/","title":"Blog post"},{"url":"http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval…","title":"Mozilla Hacks article"},{"url":"http://docs.webplatform.org/wiki/dom/Window/requestAnimationFrame","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFra…","title":"MDN Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #2","11":"a x #1 #2","12":"a x #1 #2","13":"a x #1 #2","14":"a x #1 #2","15":"a x #1 #2","16":"a x #1 #2","17":"a x #1 #2","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to lacking `cancelAnimationFrame` support.","2":"Supports `webkitCancelRequestAnimationFrame` rather than `webkitCancelAnimationFrame."},"usage_perc_y":93.13,"usage_perc_a":0.16,"ucprefix":false,"parent":"","keywords":"","ie_id":"requestanimationframe","chrome_id":"5233400470306816","firefox_id":"","webkit_id":""},"input-range":{"title":"Range input type","description":"Form field type that allows the user to select a value using a slider widget.","spec":"https://html.spec.whatwg.org/multipage/forms.html#range-state-(type=range)","status":"ls","links":[{"url":"https://github.com/fryn/html5slider","title":"Polyfill for Firefox"},{"url":"https://github.com/freqdec/fd-slider","title":"Cross-browser polyfill"},{"url":"http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/","title":"Tutorial"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-r…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/range","title":"WebPlatform Docs"},{"url":"https://github.com/andreruffert/rangeslider.js","title":"rangeslider.js polyfill"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Currently all Android browsers with partial support hide the slider input field by default. However, the element [can be styled](http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-st… to be made visible and usable.","notes_by_num":{},"usage_perc_y":93.95,"usage_perc_a":0.2,"ucprefix":false,"parent":"forms","keywords":"input type=\"range\"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"matchmedia":{"title":"matchMedia","description":"API for finding out whether or not a media query applies to the document.","spec":"http://www.w3.org/TR/cssom-view/#dom-window-matchmedia","status":"wd","links":[{"url":"https://github.com/paulirish/matchMedia.js/","title":"matchMedia.js polyfill"},{"url":"https://developer.mozilla.org/en/DOM/window.matchMedia","title":"MDN article"},{"url":"https://developer.mozilla.org/en/CSS/Using_media_queries_from_code","title":"MDN tutorial"},{"url":"http://docs.webplatform.org/wiki/css/media_queries/apis/matchMedia","title":"WebPlatform Docs"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"mediaquerylist","ie_id":"matchmedia","chrome_id":"4677872220372992","firefox_id":"","webkit_id":""},"input-datetime":{"title":"Date and time input types","description":"Form field widget to easily allow users to enter a date, time or both, generally by using a calendar/time input widget.","spec":"https://html.spec.whatwg.org/multipage/forms.html#date-state-(type=date)","status":"ls","links":[{"url":"http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-browser-d…","title":"Datepicker tutorial w/polyfill"},{"url":"https://github.com/zoltan-dulac/html5Forms.js","title":"Polyfill for HTML5 forms"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-d…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/date","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=888320","title":"Bug on Firefox support"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #1","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n d #4","55":"n d #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2","6.0-6.1":"a #2","7.0-7.1":"a #2","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"a #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n #3","4.1":"n #3","4.2-4.3":"n #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Older versions of Safari provide date-formatted text fields, but no real calendar widget.\r\n\r\nChrome, Opera, and Microsoft Edge also support the `datetime-local` type for both date and time.\r\n\r\nThere used to also be a `datetime` type, but it was [dropped from the HTML spec](https://github.com/whatwg/html/issues/336) since only Presto ever fully supported it.","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 `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."},"usage_perc_y":70.34,"usage_perc_a":9.87,"ucprefix":false,"parent":"forms","keywords":"datepicker,timepicker,input type=\"date\",input type=\"time\",input date,datetime-local","ie_id":"daterelatedinputtypes,timerelatedinputtypes","chrome_id":"6640933999214592","firefox_id":"","webkit_id":""},"document-execcommand":{"title":"Document.execCommand()","description":"Allows running commands to manipulate the contents of an editable region in a document switched to designMode","spec":"https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#execcommand()","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand","title":"MDN"},{"url":"http://codepen.io/netsi1964/pen/QbLLGW","title":"execCommand and queryCommandSupported demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"u","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"n"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"To determine what commands are supported, see `Document.queryCommandSupported()`","notes_by_num":{},"usage_perc_y":85.37,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"document,text,editor,commands,designMode","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-color":{"title":"Color input type","description":"Form field allowing the user to select a color.","spec":"https://html.spec.whatwg.org/multipage/forms.html#color-state-(type=color)","status":"ls","links":[{"url":"http://www.html5tutorial.info/html5-color.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/color-polyfill","title":"Polyfill"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/color","title":"WebPlatform Docs"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":67.31,"usage_perc_a":9.23,"ucprefix":false,"parent":"forms","keywords":"colour,input type=\"color\"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-number":{"title":"Number input type","description":"Form field type for numbers.","spec":"https://html.spec.whatwg.org/multipage/forms.html#number-state-(type=number)","status":"ls","links":[{"url":"http://www.html5tutorial.info/html5-number.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/number-polyfill","title":"Polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-n…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/number","title":"WebPlatform Docs"},{"url":"https://www.slightfuture.com/webdev/html5-input-number-localization","title":"Poor browser support for localized decimal marks, commas"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #4","15":"y #4"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y #3","30":"y #3","31":"y #3","32":"y #3","33":"y #3","34":"y #3","35":"y #3","36":"y #3","37":"y #3","38":"y #3","39":"y #3","40":"y #3","41":"y #3","42":"y #3","43":"y #3","44":"y #3","45":"y #3","46":"y #3","47":"y #3","48":"y #3","49":"y #3","50":"y #3","51":"y #3","52":"y #3","53":"y #3","54":"y #3","55":"y #3"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1 #2","4.0-4.1":"a #1 #2","4.2-4.3":"a #1 #2","5.0-5.1":"a #1 #2","6.0-6.1":"a #1 #2","7.0-7.1":"a #1 #2","8":"a #1 #2","8.1-8.4":"a #1 #2","9.0-9.2":"a #1 #2","9.3":"a #1 #2","10.0-10.2":"a #1 #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"a #1 #2","4.4.3-4.4.4":"a #1 #2","53":"a #1 #2"},"bb":{"7":"n","10":"a #1 #2"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1 #2"},"and_chr":{"56":"a #1 #2"},"and_ff":{"51":"y #1 #3"},"ie_mob":{"10":"a #1 #2","11":"a #1 #2"},"and_uc":{"11":"a #1 #2"},"samsung":{"4":"a #1 #2"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"UI widget does not include increment/decrement buttons.","2":"UI widget does not take the \"step\", \"min\" or \"max\" attributes into account.","3":"Firefox doesn't support [autocomplete content via datalist](http://codepen.io/graste/pen/bNoVKW) elements.","4":"Does not include increment/decrement buttons, but does supports increment/decrement via arrow up & down keys."},"usage_perc_y":42.87,"usage_perc_a":51.11,"ucprefix":false,"parent":"forms","keywords":"spinner,input type=\"number\"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"getboundingclientrect":{"title":"Element.getBoundingClientRect()","description":"Method to get the size and position of an element's bounding box, relative to the viewport.","spec":"http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientR…","title":"Mozilla Developer Network"},{"url":"https://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx","title":"Microsoft Developer Network"}],"categories":["JS API"],"stats":{"ie":{"5.5":"a #1 #3","6":"a #1 #3","7":"a #1 #3","8":"a #1 #3","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a #1 #4","3.5":"a #2 #4","3.6":"a #2 #3 #4","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":97.76,"usage_perc_a":0.57,"ucprefix":false,"parent":"","keywords":"getBoundingClientRect,bounding,client,rect,DOMRect,box,cssom","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"iframe-sandbox":{"title":"sandbox attribute for iframes","description":"Method of running external site pages with reduced privileges (e.g. no JavaScript) in iframes.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sa…","status":"ls","links":[{"url":"http://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html","title":"Chromium blog article"},{"url":"http://msdn.microsoft.com/en-us/hh563496","title":"MSDN article"},{"url":"http://docs.webplatform.org/wiki/html/attributes/sandbox","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.89,"usage_perc_a":0.15,"ucprefix":false,"parent":"","keywords":"","ie_id":"iframesandboxattribute","chrome_id":"5715536319086592","firefox_id":"","webkit_id":""},"css-counters":{"title":"CSS Counters","description":"Method of controlling number values in generated content, using the `counter-reset` and `counter-increment` properties.","spec":"http://www.w3.org/TR/CSS21/generate.html#counters","status":"rec","links":[{"url":"http://onwebdev.blogspot.com/2012/02/css-counters-tutorial.html","title":"Tutorial and information"},{"url":"https://developer.mozilla.org/en/CSS_Counters","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/properties/counter-reset","title":"WebPlatform Docs"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":98.32,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-resize":{"title":"CSS resize property","description":"Method of allowing an element to be resized by the user, with options to limit to a given direction. ","spec":"http://www.w3.org/TR/css3-ui/#resize","status":"cr","links":[{"url":"http://css-tricks.com/almanac/properties/r/resize/","title":"CSS Tricks info"},{"url":"http://davidwalsh.name/textarea-resize","title":"On textarea resizing"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Presto-based Opera 12.10+ currently only supports the resize property for textarea elements."},"usage_perc_y":63.16,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"horizontal,vertical","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-placeholder":{"title":"input placeholder attribute","description":"Method of setting placeholder text for text-like input fields, to suggest the expected inserted information.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-placeholder","status":"ls","links":[{"url":"http://www.zachleat.com/web/placeholder/","title":"Article on usage"},{"url":"https://github.com/mathiasbynens/jquery-placeholder","title":"Polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-attr-p…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/attributes/placeholder","title":"WebPlatform Docs"},{"url":"https://code.google.com/p/android/issues/detail?id=24626","title":"Issue 24626: Placeholder text for an input type="}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"a #1","11.1":"a #1","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"a","4.1":"a","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to lacking placeholder support on textarea elements."},"usage_perc_y":97.34,"usage_perc_a":0.24,"ucprefix":false,"parent":"forms","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"spdy":{"title":"SPDY protocol","description":"Networking protocol for low-latency transport of content over the web. Superseded by HTTP version 2.","spec":"http://http2.github.io/http2-spec/index.html","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/HTTP/2","title":"Wikipedia"},{"url":"http://dev.chromium.org/spdy/spdy-whitepaper","title":"SPDY whitepaper"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"n","41":"n","42":"y","43":"n","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"See also support for [HTTP2](http://caniuse.com/#feat=http2), successor of SPDY.\r\n\r\nChrome will be removing support in 2016 (in favor of HTTP2), other browsers likely to follow.","notes_by_num":{},"usage_perc_y":27.22,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"http2","chrome_id":"5152586365665280","firefox_id":"","webkit_id":""},"css-repeating-gradients":{"title":"CSS Repeating Gradients","description":"Method of defining a repeating linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/#repeating-gradients","status":"cr","links":[{"url":"https://developer.mozilla.org/en/CSS/repeating-linear-gradient","title":"MDN article"},{"url":"http://www.css3files.com/gradient/#repeatinglineargradient","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/repeating-linear-gradient","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x","11.5":"a x","11.6":"y x","12":"y x","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"a x","11.5":"a x","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Firefox 10+, Chrome 26+ and Opera 11.6+ also support the new \"to (side)\" syntax.","notes_by_num":{},"usage_perc_y":94.14,"usage_perc_a":0.01,"ucprefix":false,"parent":"css-gradients","keywords":"repeating-linear-gradient,repeating-radial-gradient","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-filters":{"title":"CSS Filter Effects","description":"Method of applying filter effects (like blur, grayscale, brightness, contrast and hue) to elements, previously only possible by using SVG.","spec":"http://www.w3.org/TR/filter-effects-1/","status":"wd","links":[{"url":"http://html5-demos.appspot.com/static/css/filters/index.html","title":"Demo file for WebKit browsers"},{"url":"http://www.html5rocks.com/en/tutorials/filters/understanding-css/","title":"HTML5Rocks article"},{"url":"http://dl.dropbox.com/u/3260327/angular/CSS3ImageManipulation.html","title":"Filter editor"},{"url":"http://bennettfeely.com/filters/","title":"Filter Playground"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n d #2 #4","13":"a #4","14":"a #4","15":"a #4"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a #3","4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"a #3","16":"a #3","17":"a #3","18":"a #3","19":"a #3","20":"a #3","21":"a #3","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a d #1","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"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.….","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_c…","4":"Partial support refers to supporting filter functions, but not the `url` function."},"usage_perc_y":86.92,"usage_perc_a":2.01,"ucprefix":false,"parent":"","keywords":"sepia,hue-rotate,invert,saturate,filter:blur","ie_id":"filters","chrome_id":"5822463824887808","firefox_id":"","webkit_id":""},"getcomputedstyle":{"title":"getComputedStyle","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.","spec":"http://www.w3.org/TR/cssom/#dom-window-getcomputedstyle","status":"rec","links":[{"url":"https://developer.mozilla.org/en/DOM/window.getComputedStyle","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/","title":"Demo"},{"url":"http://snipplr.com/view/13523/","title":"Polyfill for IE"},{"url":"http://docs.webplatform.org/wiki/css/cssom/methods/getComputedStyle","title":"WebPlatform Docs"}],"categories":["CSS3","DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a #1","3.5":"a #1","3.6":"a #1","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #2","3.2":"a #2","4":"a #2","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #2","9.5-9.6":"a #2","10.0-10.1":"a #2","10.5":"a #2","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #2","4.0-4.1":"a #2","4.2-4.3":"a #2","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #2"},"android":{"2.1":"a #2","2.2":"a #2","2.3":"a #2","3":"a #2","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #2","10":"y"},"op_mob":{"10":"a #2","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":94.43,"usage_perc_a":3.5,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mp3":{"title":"MP3 audio format","description":"Popular lossy audio compression format","spec":"http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/MP3","title":"Wikipedia"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{"1":"Partial support in older Firefox refers to being limited to certain operating systems."},"usage_perc_y":94.24,"usage_perc_a":0.19,"ucprefix":false,"parent":"audio","keywords":"mpeg","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"word-break":{"title":"CSS3 word-break","description":"Property to prevent or allow words to be broken over multiple lines between letters.","spec":"http://www.w3.org/TR/css3-text/#word-break","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/word-break","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/properties/word-break","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"y"},"bb":{"7":"a","10":"a"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"a"}},"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":{},"usage_perc_y":80.9,"usage_perc_a":13.86,"ucprefix":false,"parent":"","keywords":"break-all,keep-all","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"viewport-units":{"title":"Viewport units: vw, vh, vmin, vmax","description":"Length units representing 1% of the viewport size for viewport width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).","spec":"http://www.w3.org/TR/css3-values/#viewport-relative-lengths","status":"cr","links":[{"url":"http://css-tricks.com/viewport-sized-typography/","title":"Blog post"},{"url":"https://github.com/saabi/vminpoly","title":"Polyfill"},{"url":"https://github.com/rodneyrehm/viewport-units-buggyfill","title":"Buggyfill - Polyfill that fixes buggy support"},{"url":"http://blog.rodneyrehm.de/archives/34-iOS7-Mobile-Safari-And-Viewport-Units…","title":"Back-Forward issue blog post"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a #2","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"a #2 #3","7.0-7.1":"a #3","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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))."},"usage_perc_y":77.43,"usage_perc_a":6.64,"ucprefix":false,"parent":"","keywords":"vm,viewport-percentage","ie_id":"cssvmaxunit","chrome_id":"","firefox_id":"","webkit_id":""},"contentsecuritypolicy":{"title":"Content Security Policy 1.0","description":"Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources.","spec":"http://www.w3.org/TR/2012/CR-CSP-20121115/","status":"cr","links":[{"url":"http://html5rocks.com/en/tutorials/security/content-security-policy/","title":"HTML5Rocks article"},{"url":"http://content-security-policy.com/","title":"CSP Examples & Quick Reference"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y #2","15":"y #2","16":"y #2","17":"y #2","18":"y #2","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #2","6":"y #2","6.1":"y #2","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2","6.0-6.1":"y #2","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":88.98,"usage_perc_a":4.32,"ucprefix":false,"parent":"","keywords":"csp,security,header","ie_id":"contentsecuritypolicy","chrome_id":"5205088045891584","firefox_id":"","webkit_id":""},"pagevisibility":{"title":"Page Visibility","description":"JavaScript API for determining whether a document is visible on the display","spec":"http://www.w3.org/TR/page-visibility/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API","title":"MDN article"},{"url":"https://docs.webplatform.org/wiki/dom/Document/visibilityState","title":"WebPlatform Docs"},{"url":"http://www.sitepoint.com/introduction-to-page-visibility-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/page-visibility-api-demo.html","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.21,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"visibilitystate,visibilitychange","ie_id":"pagevisibilityapi","chrome_id":"5689697795833856","firefox_id":"page-visibility","webkit_id":""},"stricttransportsecurity":{"title":"Strict Transport Security","description":"Declare that a website is only accessible over a secure connection (HTTPS).","spec":"https://tools.ietf.org/html/rfc6797","status":"other","links":[{"url":"http://dev.chromium.org/sts","title":"Chromium article"},{"url":"https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Sec…","title":"MDN article"},{"url":"https://www.owasp.org/index.php/HTTP_Strict_Transport_Security","title":"OWASP article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"The HTTP header is 'Strict-Transport-Security'.","notes_by_num":{"1":"IE 11 added support [in an update](http://blogs.windows.com/msedgedev/2015/06/09/http-strict-transport… on June 9, 2015"},"usage_perc_y":83.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"sts,hsts,security,header","ie_id":"httpstricttransportsecurityhsts","chrome_id":"4941480133132288","firefox_id":"","webkit_id":""},"style-scoped":{"title":"Scoped CSS","description":"Allows CSS rules to be scoped to part of the document, based on the position of the style element. The attribute has been [removed from the current specification](https://github.com/whatwg/html/issues/552).","spec":"https://www.w3.org/TR/html51/document-metadata.html#element-attrdef-style-s…","status":"unoff","links":[{"url":"https://github.com/PM5544/scoped-polyfill","title":"Polyfill"},{"url":"http://html5doctor.com/the-scoped-attribute/","title":"HTML5 Doctor article"},{"url":"http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scop…","title":"HTML5Rocks article"}],"categories":["CSS","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n d #1","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags"},"usage_perc_y":15.75,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"scope","ie_id":"scopedstyles","chrome_id":"5374137958662144","firefox_id":"","webkit_id":""},"svg-fragment":{"title":"SVG fragment identifiers","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.","spec":"http://www.w3.org/TR/SVG/linking.html#SVGFragmentIdentifiers","status":"rec","links":[{"url":"http://www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-ide…","title":"Blog post"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"a #1"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Partial support refers to support inside `<img>` but not as CSS `background-image`"},"usage_perc_y":66.9,"usage_perc_a":6.8,"ucprefix":false,"parent":"","keywords":"fragments,sprite,svg,use","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"outline":{"title":"CSS outline","description":"The CSS outline property is a shorthand property for setting one or more of the individual outline properties outline-style, outline-width and outline-color in a single rule. In most cases the use of this shortcut is preferable and more convenient.","spec":"http://www.w3.org/TR/CSS2/ui.html#propdef-outline","status":"rec","links":[{"url":"http://dev.w3.org/csswg/css3-ui/#outline","title":"CSS Basic User Interface Module Level 3"},{"url":"https://developer.mozilla.org/en-US/docs/CSS/outline","title":"Mozilla Developer Network: outline"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Also supports the value of `invert` for `outline-color`. (support of this value is optional for browsers)"},"usage_perc_y":95.02,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"-moz-outline,outline-width,outline-style,outline-color","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"download":{"title":"Download attribute","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.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#downloading-resources","status":"ls","links":[{"url":"http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-down…","title":"HTML5Rocks post"},{"url":"http://html5-demos.appspot.com/static/a.download.html","title":"Demo: creating a text file and downloading it."},{"url":"https://bugs.webkit.org/show_bug.cgi?id=102914","title":"WebKit feature request bug"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":67.5,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"download,a.download,a[download],download attribute","ie_id":"adownloadattribute","chrome_id":"6473924464345088","firefox_id":"","webkit_id":"feature-download-attribute"},"pointer":{"title":"Pointer events","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.","spec":"http://www.w3.org/TR/pointerevents/","status":"rec","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metr…","title":"Implementation of Pointer Events in IE10"},{"url":"http://blogs.msdn.com/b/eternalcoding/archive/2013/01/16/hand-js-a-polyfill…","title":"Hand.js, the polyfill for browsers only supporting Touch Events"},{"url":"http://blogs.msdn.com/b/davrous/archive/2013/02/20/handling-touch-in-your-h…","title":"Article & tutorial"},{"url":"http://deeptissuejs.com","title":"Abstraction library for pointer events"},{"url":"https://github.com/jquery/PEP","title":"PEP: Pointer Events Polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p d #2","42":"p d #2","43":"p d #2","44":"p d #2","45":"p d #2","46":"p d #2","47":"p d #2","48":"p d #2","49":"p d #2","50":"p d #2","51":"p d #2","52":"p d #2","53":"p d #2","54":"p d #2","55":"p d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p d #3","53":"p d #3","54":"p d #3","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p d #3","40":"p d #3","41":"p d #3","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"n","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"p"},"and_chr":{"56":"y"},"and_ff":{"51":"p d #2"},"ie_mob":{"10":"a x","11":"y"},"and_uc":{"11":"p"},"samsung":{"4":"p"},"and_qq":{"1.2":"p d #3"}},"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 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-nigh…. 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."},"usage_perc_y":55.14,"usage_perc_a":0.32,"ucprefix":false,"parent":"","keywords":"pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerenter,pointerleave","ie_id":"pointerevents","chrome_id":"4504699138998272","firefox_id":"pointer-events","webkit_id":""},"user-select-none":{"title":"CSS user-select: none","description":"Method of preventing text/element selection using CSS. ","spec":"https://drafts.csswg.org/css-ui-4/#valdef-user-select-none","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/CSS/user-select","title":"MDN article"},{"url":"http://css-tricks.com/almanac/properties/u/user-select/","title":"CSS Tricks article"},{"url":"http://msdn.microsoft.com/en-us/library/ie/hh781492(v=vs.85).aspx","title":"MSDN Documentation"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x"},"edge":{"12":"y x","13":"y x","14":"y x","15":"y x"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y"},"and_ff":{"51":"y x"},"ie_mob":{"10":"y x","11":"y x"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{},"usage_perc_y":94.24,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-file-accept":{"title":"accept attribute for file input","description":"Allows a filter to be defined for what type of files a user may pick with from an `<input type=\"file\">` dialog","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-accept","status":"ls","links":[{"url":"http://www.wufoo.com/html5/attributes/07-accept.html","title":"Demo & information"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"u","6":"u","7":"u","8":"u","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"u","22":"u","23":"u","24":"u","25":"u","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n #3","4.0-4.1":"n #3","4.2-4.3":"n #3","5.0-5.1":"n #3","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #2","4":"a #2","4.1":"a #2","4.2-4.3":"a #2","4.4":"n #3","4.4.3-4.4.4":"n #3","53":"n #3"},"bb":{"7":"a #2","10":"a #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"n #3","11":"a #4"},"and_uc":{"11":"n"},"samsung":{"4":"a #2"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":38.27,"usage_perc_a":42.61,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webp":{"title":"WebP image format","description":"Image format that supports lossy and lossless compression, as well as animation and alpha transparency.","spec":"https://developers.google.com/speed/webp/","status":"unoff","links":[{"url":"https://developers.google.com/speed/webp/","title":"Official website"},{"url":"http://antimatter15.github.io/weppy/demo.html","title":"Polyfill for browsers with WebM support"},{"url":"http://libwebpjs.appspot.com/","title":"Decoder in JS"},{"url":"http://webpjs.appspot.com/","title":"Polyfill for browsers with or without WebM support (i.e. IE6-IE9, Safari/iOS version 6.1 and below; Firefox versions 24 and bel"},{"url":"https://developers.google.com/speed/webp/faq#which_web_browsers_natively_su…","title":"Official website FAQ - Which web browsers natively support WebP?"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p"},"chrome":{"4":"n","5":"n","6":"p","7":"p","8":"p","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"p","11":"p","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #1","4.1":"a #1","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"a #1","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Both [Safari](https://www.cnet.com/news/apple-ios-macos-tests-googles-webp-graphi… & [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1294490) are experimenting with supporting WebP images.\r\n\r\nAnimated WebP images are supported in Chrome 32+ and Opera 19+.","notes_by_num":{"1":"Partial support in older Chrome, Opera and Android refers to browsers not supporting lossless and alpha versions of WebP."},"usage_perc_y":72.32,"usage_perc_a":0.37,"ucprefix":false,"parent":"","keywords":"","ie_id":"webpimageformat","chrome_id":"6471725441089536,4785074604081152","firefox_id":"","webkit_id":""},"input-autocomplete-onoff":{"title":"autocomplete attribute: on & off values","description":"The `autocomplete` attribute for `input` elements indicates to the browser whether a value should or should not be autofilled when appropriate.","spec":"https://html.spec.whatwg.org/multipage/forms.html#autofill","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autoco…","title":"MDN article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"a #3","50":"a #3","51":"a #3","52":"a #3","53":"a #3","54":"a #3","55":"a #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"a #5","7.1":"a #5","8":"a #5","9":"a #5","9.1":"a #5","10":"a #5","10.1":"a #5","TP":"a #5"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y #4","6.0-6.1":"y #4","7.0-7.1":"y #4","8":"y #4","8.1-8.4":"y #4","9.0-9.2":"y #4","9.3":"y #4","10.0-10.2":"y #4"},"op_mini":{"all":"y #4"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #5","11":"a #5"},"and_uc":{"11":"y #4"},"samsung":{"4":"y"},"and_qq":{"1.2":"a #2"}},"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/troubleshootin…","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](http://stackoverflow.com/questions/22661977/disabling-safari-autofi…"},"usage_perc_y":56.43,"usage_perc_a":41.81,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"intrinsic-width":{"title":"Intrinsic & Extrinsic Sizing","description":"Allows for the heights and widths to be specified in intrinsic values using the `fill`, `max-content`, `min-content`, and `fit-content` properties.","spec":"http://www.w3.org/TR/css3-sizing/","status":"wd","links":[{"url":"http://demosthenes.info/blog/662/Design-From-the-Inside-Out-With-CSS-MinCon…","title":"Min-Content tutorial"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"a x #1 #2 #3","3.5":"a x #1 #2 #3","3.6":"a x #1 #2 #3","4":"a x #1 #2 #3","5":"a x #1 #2 #3","6":"a x #1 #2 #3","7":"a x #1 #2 #3","8":"a x #1 #2 #3","9":"a x #1 #2 #3","10":"a x #1 #2 #3","11":"a x #1 #2 #3","12":"a x #1 #2 #3","13":"a x #1 #2 #3","14":"a x #1 #2 #3","15":"a x #1 #2 #3","16":"a x #1 #2 #3","17":"a x #1 #2 #3","18":"a x #1 #2 #3","19":"a x #1 #2 #3","20":"a x #1 #2 #3","21":"a x #1 #2 #3","22":"a x #1 #2 #3","23":"a x #1 #2 #3","24":"a x #1 #2 #3","25":"a x #1 #2 #3","26":"a x #1 #2 #3","27":"a x #1 #2 #3","28":"a x #1 #2 #3","29":"a x #1 #2 #3","30":"a x #1 #2 #3","31":"a x #1 #2 #3","32":"a x #1 #2 #3","33":"a x #1 #2 #3","34":"a x #1 #2 #3","35":"a x #1 #2 #3","36":"a x #1 #2 #3","37":"a x #1 #2 #3","38":"a x #1 #2 #3","39":"a x #1 #2 #3","40":"a x #1 #2 #3","41":"a x #1 #2 #3","42":"a x #1 #2 #3","43":"a x #1 #2 #3","44":"a x #1 #2 #3","45":"a x #1 #2 #3","46":"a x #1 #2 #3","47":"a x #1 #2 #3","48":"a x #1 #2 #3","49":"a x #1 #2 #3","50":"a x #1 #2 #3","51":"a x #1 #2 #3","52":"a x #1 #2 #3","53":"a x #1 #2 #3","54":"a x #1 #2 #3","55":"a x #1 #2 #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y x #3","23":"y x #3","24":"y x #3","25":"y x #3","26":"y x #3","27":"y x #3","28":"y x #3","29":"y x #3","30":"y x #3","31":"y x #3","32":"y x #3","33":"y x #3","34":"y x #3","35":"y x #3","36":"y x #3","37":"y x #3","38":"y x #3","39":"y x #3","40":"y x #3","41":"y x #3","42":"y x #3","43":"y x #3","44":"y x #3","45":"y x #3","46":"y #3 #4","47":"y #3 #4","48":"y #3 #4","49":"y #3 #4","50":"y #3 #4","51":"y #3 #4","52":"y #3 #4","53":"y #3 #4","54":"y #3 #4","55":"y #3 #4","56":"y #3 #4","57":"y #3 #4","58":"y #3 #4","59":"y #3 #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a x #1 #3","7":"a x #1 #3","7.1":"a x #1 #3","8":"a x #1 #3","9":"a x #3","9.1":"a x #3","10":"a x #3","10.1":"a x #3","TP":"a x #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x #3","16":"y x #3","17":"y x #3","18":"y x #3","19":"y x #3","20":"y x #3","21":"y x #3","22":"y x #3","23":"y x #3","24":"y x #3","25":"y x #3","26":"y x #3","27":"y x #3","28":"y x #3","29":"y x #3","30":"y x #3","31":"y x #3","32":"y x #3","33":"y #3 #4","34":"y #3","35":"y #3 #4","36":"y #3 #4","37":"y #3 #4","38":"y #3 #4","39":"y #3 #4","40":"y #3 #4","41":"y #3 #4","42":"y #3 #4","43":"y #3 #4","44":"y #3 #4","45":"y #3 #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a x #1 #3","8":"a x #1 #3","8.1-8.4":"a x #1 #3","9.0-9.2":"a x #3","9.3":"a x #3","10.0-10.2":"a x #3"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x #3","4.4.3-4.4.4":"y x #3","53":"y #3 #4"},"bb":{"7":"n","10":"y x #3"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y #3 #4"},"and_chr":{"56":"y #3 #4"},"and_ff":{"51":"a x #1 #2 #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x #3"},"and_qq":{"1.2":"y x #3"}},"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":"Does not support for height/min-height/max-height property, only width. [see test case](http://codepen.io/shshaw/pen/Kiwaz) [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=567039)","2":"Firefox currently supports the \"-moz-available\" property rather than \"-moz-fill\".","3":"Does not support for \"flex-basis\" property. [see specs](http://www.w3.org/TR/2015/WD-css-flexbox-1-20150514/#flex-basis-prop… bug](https://codereview.chromium.org/1304853002/),[Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1055887)","4":"This does not yet unprefix fill-available (aka fill)[See bug](https://chromium.googlesource.com/chromium/blink.git/+/bf119cdfece210e…, because the [CSSWG](https://lists.w3.org/Archives/Public/www-style/2015Aug/0127.html) is not ready for that yet."},"usage_perc_y":59.26,"usage_perc_a":18.72,"ucprefix":false,"parent":"","keywords":"fill,fill-available,max-content,min-content,fit-content,contain-floats,intrinsic,extrinsic,sizing","ie_id":"cssintrinsicsizing","chrome_id":"5901353784180736","firefox_id":"","webkit_id":""},"cryptography":{"title":"Web Cryptography","description":"JavaScript API for performing basic cryptographic operations in web applications","spec":"http://www.w3.org/TR/WebCryptoAPI/","status":"cr","links":[{"url":"http://www.slideshare.net/Channy/the-history-and-status-of-web-crypto-api","title":"The History and Status of Web Crypto API"},{"url":"http://research.microsoft.com/en-us/projects/msrjscrypto/","title":"Microsoft Research JavaScript Cryptography Library"},{"url":"http://bitwiseshiftleft.github.io/sjcl/","title":"Cross-browser cryptography library"},{"url":"https://docs.google.com/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidU…","title":"Support for recommended algorithms in Firefox"},{"url":"https://github.com/Netflix/NfWebCrypto","title":"Polyfill by Netflix with partial support"},{"url":"https://github.com/GlobalSign/PKI.js","title":"PKI.js - another crypto library for Public Key Infrastructure applications"},{"url":"https://diafygi.github.io/webcrypto-examples/","title":"Test suite for various algorithms/methods"},{"url":"https://github.com/vibornoff/webcrypto-shim","title":"Web Cryptography API shim for IE11 and Safari - set of bugfixes and workarounds of prefixed api implementations"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"a x #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"n d #2","33":"n d #2","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"y x #3","8":"y x #3","9":"y x #3","9.1":"y x #3","10":"y x #3","10.1":"y x #3","TP":"y x #3"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"y x #3","8.1-8.4":"y x #3","9.0-9.2":"y x #3","9.3":"y x #3","10.0-10.2":"y x #3"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"y"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"p","11":"a x #1"},"and_uc":{"11":"p"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Many browsers support the `[crypto.getRandomValues()](#feat=getrandomvalues)` method, but not actual cryptography functionality under `crypto.subtle`. \r\n\r\nFirefox also has support for [unofficial features](https://developer.mozilla.org/en-US/docs/JavaScript_crypto). \r\n\r\nIn Chrome the API is only usable over secure connections. ([corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032))","notes_by_num":{"1":"Support in IE11 is based an older version of the specification.","2":"Supported in Firefox behind the `dom.webcrypto.enabled` flag.","3":"Supported in Safari using the `crypto.webkitSubtle` prefix."},"usage_perc_y":76.58,"usage_perc_a":3.95,"ucprefix":false,"parent":"","keywords":"subtle,subtlecrypto","ie_id":"webcryptoapi","chrome_id":"5030265697075200","firefox_id":"","webkit_id":"specification-webcrypto"},"template":{"title":"HTML templates","description":"Method of declaring a portion of reusable markup that is parsed but not rendered until cloned.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#the-template-element","status":"ls","links":[{"url":"http://www.html5rocks.com/en/tutorials/webcomponents/template/","title":"HTML5Rocks - HTML's New template Tag"},{"url":"http://polymer-project.org","title":"Polymer project (polyfill & web components framework)"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":78.98,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components, template","ie_id":"templateelement","chrome_id":"5207287069147136","firefox_id":"html-templates","webkit_id":"feature-template-element"},"opus":{"title":"Opus","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.","spec":"https://tools.ietf.org/html/rfc6716","status":"other","links":[{"url":"https://hacks.mozilla.org/2012/07/firefox-beta-15-supports-the-new-opus-aud…","title":"Introduction of Opus by Mozilla"},{"url":"http://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html","title":"Google's statement about the use of VP8 and Opus codec for WebRTC standard"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Support refers to use using 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":{},"usage_perc_y":61.69,"usage_perc_a":0,"ucprefix":false,"parent":"audio","keywords":"","ie_id":"opusaudioplayback","chrome_id":"4891189287321600","firefox_id":"","webkit_id":""},"jpegxr":{"title":"JPEG XR image format","description":"The latest JPEG image format of Joint Photographic Experts Group which boasts better compression and supports lossless compression, alpha channel, and 48-bit deep color over normal jpg format.","spec":"http://www.itu.int/rec/T-REC-T.832","status":"other","links":[{"url":"http://msdn.microsoft.com/en-us/library/windows/desktop/hh707223(v=vs.85).a…","title":"Microsoft JPEG XR Codec Overview"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=500500","title":"Firefox support bug"},{"url":"https://code.google.com/p/chromium/issues/detail?id=56908","title":"Chrome support bug (marked as WONTFIX)"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":6.2,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"channel-messaging":{"title":"Channel messaging","description":"Method for having two-way communication between browsing contexts (using MessageChannel)","spec":"https://html.spec.whatwg.org/multipage/comms.html#channel-messaging","status":"ls","links":[{"url":"https://dev.opera.com/articles/view/window-postmessage-messagechannel/#chan…","title":"An Introduction to HTML5 web messaging"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"u","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Firefox behind the `dom.messageChannel.enabled` flag. Reported to not work in web workers before version 41."},"usage_perc_y":93.06,"usage_perc_a":0,"ucprefix":false,"parent":"x-doc-messaging","keywords":"","ie_id":"messagechannels","chrome_id":"6710044586409984","firefox_id":"","webkit_id":""},"css3-tabsize":{"title":"CSS3 tab-size","description":"Method of customizing the width of the tab character. Only effective using 'white-space: pre' or 'white-space: pre-wrap'.","spec":"http://www.w3.org/TR/css3-text/#tab-size","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size","title":"MDN article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"a x #1","11":"a x #1","11.1":"a x #1","11.5":"a x #1","11.6":"a x #1","12":"a x #1","12.1":"a x #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a x #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"n","11":"a x #1","11.1":"a x #1","11.5":"a x #1","12":"a x #1","12.1":"a x #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial refers to supporting `<integer>` but not `<length>` values."},"usage_perc_y":56.71,"usage_perc_a":24.69,"ucprefix":false,"parent":"","keywords":"tab-size,tab-width","ie_id":"csstabsizeproperty","chrome_id":"","firefox_id":"","webkit_id":""},"mutationobserver":{"title":"Mutation Observer","description":"Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated.","spec":"https://dom.spec.whatwg.org/#mutation-observers","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver","title":"MutationObserver from MDN"},{"url":"https://github.com/webcomponents/webcomponentsjs","title":"Polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"p","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"p","4.1":"p","4.2-4.3":"p","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"When the content of a node with a single CharacterData child node is changed by innerHTML attribute and the node have a single different one as a result, WebKit browsers consider it as a characterData mutation of the child CharacterData node, while other browsers think it as a childList mutation of the parent node.","notes_by_num":{},"usage_perc_y":92.84,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"MutationObserver","ie_id":"mutationobservers","chrome_id":"5021194726146048","firefox_id":"","webkit_id":""},"css-selection":{"title":"::selection CSS pseudo-element","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.","spec":"http://www.w3.org/TR/css-pseudo-4/#selectordef-selection","status":"wd","links":[{"url":"http://quirksmode.org/css/selectors/selection.html","title":"::selection test"},{"url":"http://docs.webplatform.org/wiki/css/selectors/pseudo-elements/::selection","title":"WebPlatform Docs"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y x"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":74.84,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"::selection,selection","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-placeholder":{"title":"::placeholder CSS pseudo-element","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.","spec":"http://dev.w3.org/csswg/css-pseudo-4/#placeholder-pseudo","status":"wd","links":[{"url":"http://msdn.microsoft.com/en-us/library/ie/hh772745(v=vs.85).aspx","title":"MSDN article"},{"url":"http://css-tricks.com/snippets/css/style-placeholder-text/","title":"CSS-Tricks article with all prefixes"},{"url":"http://wiki.csswg.org/ideas/placeholder-styling","title":"CSSWG discussion"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::-moz-placeholder","title":"MDN article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1069012","title":"Mozilla Bug 1069012 - unprefix :placeholder-shown pseudo-class and ::placeholder pseudo-element"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x","11":"a x"},"edge":{"12":"a x","13":"a x","14":"a x","15":"a x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"a x","35":"a x","36":"a x","37":"a x","38":"a x","39":"a x","40":"a x","41":"a x","42":"a x","43":"a x","44":"a x","45":"a x","46":"a x","47":"a x","48":"a x","49":"a x","50":"a x","51":"a x","52":"a x","53":"a x","54":"a x","55":"a x","56":"a x","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a x","5.1":"a x","6":"a x","6.1":"a x","7":"a x","7.1":"a x","8":"a x","9":"a x","9.1":"a x","10":"a x","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"a x","35":"a x","36":"a x","37":"a x","38":"a x","39":"a x","40":"a x","41":"a x","42":"a x","43":"a x","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a x","5.0-5.1":"a x","6.0-6.1":"a x","7.0-7.1":"a x","8":"a x","8.1-8.4":"a x","9.0-9.2":"a x","9.3":"a x","10.0-10.2":"a x"},"op_mini":{"all":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x","4.1":"a x","4.2-4.3":"a x","4.4":"a x","4.4.3-4.4.4":"a x","53":"a x"},"bb":{"7":"a x","10":"a x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x"},"and_chr":{"56":"a x"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x","11":"a x"},"and_uc":{"11":"a x"},"samsung":{"4":"a x"},"and_qq":{"1.2":"a x"}},"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 IE. \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."},"usage_perc_y":6.67,"usage_perc_a":87.48,"ucprefix":false,"parent":"","keywords":"::placeholder,placeholder","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-deviceadaptation":{"title":"CSS Device Adaptation","description":"A standard way to override the size of viewport in web page using the `@viewport` rule, standardizing and replacing Apple's own popular `<meta>` viewport implementation.","spec":"http://www.w3.org/TR/css-device-adapt/","status":"wd","links":[{"url":"https://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-vi…","title":"Introduction to meta viewport and @viewport in Opera Mobile"},{"url":"http://msdn.microsoft.com/en-us/library/ie/hh708740(v=vs.85).aspx","title":"Device adaptation in Internet Explorer 10"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://code.google.com/p/chromium/issues/detail?id=155477","title":"Chrome tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=95959","title":"WebKit tracking bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=747754","title":"Mozilla tracking bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1","11":"a x #1"},"edge":{"12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d","30":"n d","31":"n d","32":"n d","33":"n d","34":"n d","35":"n d","36":"n d","37":"n d","38":"n d","39":"n d","40":"n d","41":"n d","42":"n d","43":"n d","44":"n d","45":"n d","46":"n d","47":"n d","48":"n d","49":"n d","50":"n d","51":"n d","52":"n d","53":"n d","54":"n d","55":"n d","56":"n d","57":"n d","58":"n d","59":"n d"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n d","41":"n d","42":"n d","43":"n d","44":"n d","45":"n d"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"a x #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"a x #2","11.1":"a x #2","11.5":"a x #2","12":"a x #2","12.1":"a x #2","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"a x #1","11":"a x #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d"}},"notes":"","notes_by_num":{"1":"IE only supports the 'width' and 'height' properties.","2":"Opera Mobile and Opera Mini only support the 'orientation' property."},"usage_perc_y":0,"usage_perc_a":9.26,"ucprefix":false,"parent":"","keywords":"viewport","ie_id":"","chrome_id":"4737164243894272","firefox_id":"","webkit_id":""},"text-emphasis":{"title":"text-emphasis styling","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.","spec":"https://drafts.csswg.org/css-text-decor-3/#text-emphasis-property","status":"cr","links":[{"url":"https://github.com/zmmbreeze/jquery.emphasis/","title":"A javascript fallback for CSS3 emphasis mark."},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis","title":"Mozilla Developer Network"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n d #2","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a x #1","7":"a x #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"n","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"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"},"usage_perc_y":17.71,"usage_perc_a":68.45,"ucprefix":false,"parent":"","keywords":"text-emphasis,text-emphasis-position,text-emphasis-style,text-emphasis-color","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"midi":{"title":"Web MIDI API","description":"The Web MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices","spec":"http://webaudio.github.io/web-midi-api/","status":"wd","links":[{"url":"https://github.com/cwilso/WebMIDIAPIShim","title":"Polyfill"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=836897","title":"Firefox bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":56.66,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"webmidiapi","chrome_id":"4923613069180928","firefox_id":"","webkit_id":""},"canvas-blending":{"title":"Canvas blend modes","description":"Method of defining the effect resulting from overlaying two layers on a Canvas element.","spec":"http://www.w3.org/TR/compositing-1/#blending","status":"cr","links":[{"url":"http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/","title":"Blog post"}],"categories":["Canvas"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":79.23,"usage_perc_a":0,"ucprefix":false,"parent":"canvas","keywords":"","ie_id":"compositingandblendingincanvas2d","chrome_id":"","firefox_id":"","webkit_id":""},"clipboard":{"title":"Clipboard API","description":"API to provide copy, cut and paste events as well as provide access to the OS clipboard.","spec":"http://www.w3.org/TR/clipboard-apis/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent","title":"MDN page on ClipboardEvent"},{"url":"https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pas…","title":"Guide on cross-platform clipboard access"}],"categories":["JS API"],"stats":{"ie":{"5.5":"a #1 #2 #5","6":"a #1 #2 #5","7":"a #1 #2 #5","8":"a #1 #2 #5","9":"a #1 #2 #5","10":"a #1 #2 #5","11":"a #1 #2 #5"},"edge":{"12":"a #1 #2 #5","13":"a #1 #2 #5","14":"a #1 #2 #5","15":"a #1 #2 #5"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2 #3","40":"a #2 #3","41":"a #6","42":"a #6","43":"a #6","44":"a #6","45":"a #6","46":"a #6","47":"a #6","48":"a #6","49":"a #6","50":"a #6","51":"a #6","52":"a #6","53":"a #6","54":"a #6","55":"a #6"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"a #3 #5","14":"a #3 #5","15":"a #3 #5","16":"a #3 #5","17":"a #3 #5","18":"a #3 #5","19":"a #3 #5","20":"a #3 #5","21":"a #3 #5","22":"a #3 #5","23":"a #3 #5","24":"a #3 #5","25":"a #3 #5","26":"a #3 #5","27":"a #3 #5","28":"a #3 #5","29":"a #3 #5","30":"a #3 #5","31":"a #3 #5","32":"a #3 #5","33":"a #3 #5","34":"a #3 #5","35":"a #3 #5","36":"a #3 #5","37":"a #3 #5","38":"a #3 #5","39":"a #3 #5","40":"a #3 #5","41":"a #3 #5","42":"a #3 #5","43":"a #5 #7","44":"a #5 #7","45":"a #5 #7","46":"a #5 #7","47":"a #5 #7","48":"a #5 #7","49":"a #5 #7","50":"a #5 #7","51":"a #5 #7","52":"a #5 #7","53":"a #5 #7","54":"a #5 #7","55":"a #5 #7","56":"a #5 #7","57":"a #5 #7","58":"a #5 #7","59":"a #5 #7"},"safari":{"3.1":"u","3.2":"u","4":"a #2 #3 #5","5":"a #2 #3 #5","5.1":"a #2 #3 #5","6":"a #2 #3 #5","6.1":"a #2 #3 #5","7":"a #2 #3 #5","7.1":"a #2 #3 #5","8":"a #2 #3 #5","9":"a #2 #3 #5","9.1":"a #2 #3 #5","10":"a #2 #5","10.1":"a #2 #5","TP":"a #2 #5"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"a #3","15":"a #3 #5","16":"a #3 #5","17":"a #3 #5","18":"a #3 #5","19":"a #3 #5","20":"a #3 #5","21":"a #3 #5","22":"a #3 #5","23":"a #3 #5","24":"a #3 #5","25":"a #3 #5","26":"a #3 #5","27":"a #3 #5","28":"a #3 #5","29":"a #3 #5","30":"a #5 #7","31":"a #5 #7","32":"a #5 #7","33":"a #5 #7","34":"a #5 #7","35":"a #5 #7","36":"a #5 #7","37":"a #5 #7","38":"a #5 #7","39":"a #5 #7","40":"a #5 #7","41":"a #5 #7","42":"a #5 #7","43":"a #5 #7","44":"a #5 #7","45":"a #5 #7"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2 #3 #5","6.0-6.1":"a #2 #3 #5","7.0-7.1":"a #2 #3 #5","8":"a #2 #3 #5","8.1-8.4":"a #2 #3 #5","9.0-9.2":"a #2 #3 #5","9.3":"a #2 #3 #5","10.0-10.2":"a #2 #3 #5"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a #2 #5","4.4.3-4.4.4":"a #2 #5","53":"a #2 #5"},"bb":{"7":"n","10":"a #2 #5"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"u","37":"a #4 #5"},"and_chr":{"56":"a #5"},"and_ff":{"51":"a #4"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a #2 #5"},"and_qq":{"1.2":"a #5 #7"}},"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).\r\n\r\nFirefox 40- users [can enable support](https://developer.mozilla.org/en-US/docs/Midas/Security_preference… with a security preference setting.","notes_by_num":{"1":"Only supports `Text` and `URL` data types and uses [a non-standard method](http://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.as… 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')` "},"usage_perc_y":0,"usage_perc_a":84.24,"ucprefix":false,"parent":"","keywords":"cut,copy,paste,clipboarddata,clipboardevent","ie_id":"clipboardapi","chrome_id":"","firefox_id":"","webkit_id":""},"rtcpeerconnection":{"title":"WebRTC Peer-to-peer connections","description":"Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API.","spec":"https://w3c.github.io/webrtc-pc/","status":"wd","links":[{"url":"http://www.webrtc.org/","title":"WebRTC Project site"},{"url":"https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins","title":"Plug-in for support in IE & Safari"},{"url":"http://www.html5labs.com/prototypes/object-rtc/object-rtc/info","title":"Prototype implementation for ORTC"},{"url":"https://blogs.windows.com/msedgedev/2017/01/31/introducing-webrtc-microsoft…","title":"Introducing WebRTC 1.0 and interoperable real-time communications in Microsoft Edge"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y x"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"Microsoft also offers a compatible implementation known as [ObjectRTC](http://blogs.msdn.com/b/ie/archive/2014/10/27/bringing-interoper…. See [Object RTC](http://caniuse.com/#feat=objectrtc) for support details for that API.","notes_by_num":{"1":"BlackBerry 10 recognizes RTCPeerConnection but real support is unconfirmed.","2":"Can be enabled via the \"Enable WebRTC 1.0\" flag"},"usage_perc_y":64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"webrtcwebrtcv10api","chrome_id":"6612462929444864","firefox_id":"webrtc","webkit_id":"specification-webrtc"},"css3-cursors":{"title":"CSS3 Cursors (original values)","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. ","spec":"http://www.w3.org/TR/css3-ui/#cursor","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/cursor","title":"MDN Documentation"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"a #2","13":"a #2","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #2","9.5-9.6":"a #2","10.0-10.1":"a #2","10.5":"a #2","10.6":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"u"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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'."},"usage_perc_y":42.99,"usage_perc_a":0.88,"ucprefix":false,"parent":"","keywords":"cursors, pointers","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-cursors-newer":{"title":"CSS3 Cursors: zoom-in & zoom-out","description":"Support for `zoom-in`, `zoom-out` values for the CSS3 `cursor` property.","spec":"http://www.w3.org/TR/css3-ui/#cursor","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/cursor","title":"MDN Documentation"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":39.37,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"cursors, pointers","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webvtt":{"title":"WebVTT - Web Video Text Tracks","description":"Format for marking up text captions for multimedia resources.","spec":"https://w3c.github.io/webvtt/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/track/basics/","title":"Getting Started With the Track Element"},{"url":"https://dev.opera.com/articles/view/an-introduction-to-webvtt-and-track/","title":"An Introduction to WebVTT and track"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d","25":"n d","26":"n d","27":"n d","28":"n d","29":"n d","30":"n d","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"WebVTT must be used with the <track> element.","notes_by_num":{"1":"Firefox currently lacks support for the `::cue` pseudo-element. [See bug #865395.](https://bugzilla.mozilla.org/show_bug.cgi?id=865395)"},"usage_perc_y":83.57,"usage_perc_a":0,"ucprefix":false,"parent":"video","keywords":"captions,track,vtt,subtitles","ie_id":"","chrome_id":"6719115557339136","firefox_id":"","webkit_id":""},"promises":{"title":"Promises","description":"A promise represents the eventual result of an asynchronous operation.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects","status":"other","links":[{"url":"http://promises-aplus.github.io/promises-spec/","title":"Promises/A+ spec"},{"url":"http://www.chromestatus.com/features/5681726336532480","title":"Chromium dashboard - ES6 Promises"},{"url":"http://www.html5rocks.com/en/tutorials/es6/promises/","title":"JavaScript Promises: There and back again - HTML5 Rocks"},{"url":"https://github.com/jakearchibald/ES6-Promises","title":"A polyfill for ES6-style Promises"}],"categories":["JS API"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"a","28":"a","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"a","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"p","16":"p","17":"p","18":"p","19":"a","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"p"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":77.59,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"futures","ie_id":"","chrome_id":"5681726336532480","firefox_id":"promise","webkit_id":"feature-promise-objects"},"css-sticky":{"title":"CSS position:sticky","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.","spec":"https://drafts.csswg.org/css-position/#sticky-pos","status":"wd","links":[{"url":"http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-l…","title":"HTML5Rocks"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/position","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/properties/position","title":"WebPlatform Docs"},{"url":"https://github.com/filamentgroup/fixed-sticky","title":"Polyfill"},{"url":"https://github.com/wilddeer/stickyfill","title":"Another polyfill"},{"url":"http://gedd.ski/post/position-sticky/","title":"geddski article: Examples and Gotchas"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n d #2","40":"n d #2","41":"n d #2","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #2"}},"notes":"","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"},"usage_perc_y":61.89,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"positionsticky","chrome_id":"6190250464378880","firefox_id":"","webkit_id":"feature-position:-sticky"},"dialog":{"title":"Dialog element","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element","status":"ls","links":[{"url":"https://github.com/GoogleChrome/dialog-polyfill","title":"Polyfill"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n d #3","20":"n d #3","21":"n d #3","22":"n d #3","23":"n d #3","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`"},"usage_perc_y":56.91,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"HTMLDialogElement,showModal,backdrop","ie_id":"dialogelementformodals","chrome_id":"5770237022568448","firefox_id":"","webkit_id":""},"css-variables":{"title":"CSS Variables (Custom Properties)","description":"Permits the declaration and usage of cascading variables in stylesheets.","spec":"https://drafts.csswg.org/css-variables/","status":"cr","links":[{"url":"https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/","title":"Mozilla hacks article (older syntax)"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled through the \"Experimental Web Platform features\" flag in `chrome://flags`"},"usage_perc_y":69.62,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"css variables,custom properties","ie_id":"csscustompropertiesakacssvariables","chrome_id":"6401356696911872","firefox_id":"css-variables","webkit_id":"specification-css-variables"},"vibration":{"title":"Vibration API","description":"Method to access the vibration mechanism of the hosting device.","spec":"http://www.w3.org/TR/vibration/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/API/Vibration","title":"MDN article"},{"url":"http://davidwalsh.name/vibration-api","title":"Vibration API sample code & demo"},{"url":"http://code.tutsplus.com/tutorials/html5-vibration-api--mobile-22585","title":"Tuts+ article"},{"url":"http://aurelio.audero.it/demo/vibration-api-demo.html","title":"Demo"},{"url":"http://www.illyism.com/journal/vibration-api","title":"Article and Usage Examples"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":74.91,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"vibration,mobile,device","ie_id":"vibrationapi","chrome_id":"5698768766763008","firefox_id":"vibration","webkit_id":""},"css-backgroundblendmode":{"title":"CSS background-blend-mode","description":"Allows blending between CSS background images, gradients, and colors.","spec":"http://www.w3.org/TR/compositing-1/#propdef-background-blend-mode","status":"cr","links":[{"url":"http://codepen.io/bennettfeely/pen/rxoAc","title":"codepen example"},{"url":"https://medium.com/web-design-technique/6b51bf53743a","title":"Blog post"},{"url":"http://bennettfeely.com/gradients","title":"Demo"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"a #2","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"a #2","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #2"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":63.42,"usage_perc_a":11.77,"ucprefix":false,"parent":"","keywords":"css blend modes,css blending modes,blending,multiply,screen,background","ie_id":"","chrome_id":"5768037999312896","firefox_id":"","webkit_id":""},"css-mixblendmode":{"title":"Blending of HTML/SVG elements","description":"Allows blending between arbitrary SVG and HTML elements","spec":"http://www.w3.org/TR/compositing-1/#mix-blend-mode","status":"cr","links":[{"url":"http://codepen.io/bennettfeely/pen/csjzd","title":"codepen example"},{"url":"http://css-tricks.com/basics-css-blend-modes/","title":"Blog post"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"a #2","10.1":"a #2","TP":"a #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"a #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":59.52,"usage_perc_a":11.7,"ucprefix":false,"parent":"","keywords":"mix-blend-mode,css blend modes,css blending modes","ie_id":"mixblendmode","chrome_id":"6362616360337408","firefox_id":"","webkit_id":""},"speech-recognition":{"title":"Speech Recognition API","description":"Method to provide speech input in a web browser.","spec":"https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-se…","status":"unoff","links":[{"url":"http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to…","title":"HTML5Rocks article"},{"url":"http://www.sitepoint.com/introducing-web-speech-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/web-speech-api-demo.html","title":"Demo"},{"url":"http://zenorocha.github.io/voice-elements/#recognition-element","title":"Advanced demo and resource"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n d #2","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","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":"Reported to be in development for Samsung Internet for GearVR, due Q1/2017"},"usage_perc_y":0,"usage_perc_a":57.38,"ucprefix":false,"parent":"","keywords":"#web-speech,speechrecognition,ASR","ie_id":"webspeechapiinput","chrome_id":"5908775487668224","firefox_id":"","webkit_id":""},"high-resolution-time":{"title":"High Resolution Time API","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()`","spec":"http://www.w3.org/TR/hr-time/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Performance.now()","title":"MDN article"},{"url":"http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-perf…","title":"HTML5Rocks article"},{"url":"http://www.sitepoint.com/discovering-the-high-resolution-time-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/high-resolution-time-api-demo.html","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":92.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,now,testing","ie_id":"highresolutiontime","chrome_id":"5349124069130240","firefox_id":"","webkit_id":""},"battery-status":{"title":"Battery Status API","description":"Method to provide information about the battery status of the hosting device.","spec":"http://www.w3.org/TR/battery-status/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/WebAPI/Battery_Status","title":"MDN Docs"},{"url":"http://www.smartjava.org/examples/webapi-battery/","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n d","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to support for the older specification's `navigator.battery` rather than `navigator.getBattery()` to access the `BatteryManager`."},"usage_perc_y":62.96,"usage_perc_a":9.75,"ucprefix":false,"parent":"","keywords":"navigator.battery,navigator.getbattery,batterymanager","ie_id":"batterystatusapi","chrome_id":"4537134732017664","firefox_id":"","webkit_id":""},"serviceworkers":{"title":"Service Workers","description":"Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.","spec":"https://slightlyoff.github.io/ServiceWorker/spec/service_worker/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/service-worker/introduction/","title":"HTML5Rocks article (introduction)"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API","title":"MDN article"},{"url":"https://jakearchibald.github.io/isserviceworkerready/resources.html","title":"List of various resources"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n d #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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"},"usage_perc_y":0,"usage_perc_a":62.8,"ucprefix":false,"parent":"","keywords":"","ie_id":"serviceworker","chrome_id":"6561526227927040","firefox_id":"service-worker","webkit_id":"specification-service-workers"},"text-decoration":{"title":"text-decoration styling","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`)","spec":"http://www.w3.org/TR/css-text-decor-3/#line-decoration","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style","title":"MDN Documentation for text-decoration-style"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color","title":"MDN Documentation for text-decoration-color"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line","title":"MDN Documentation for text-decoration-line"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip","title":"MDN Documentation for text-decoration-skip"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=812990","title":"Firefox implementation bug"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a x #4","7":"a x #4","8":"a x #4","9":"a x #4","10":"a x #4","11":"a x #4","12":"a x #4","13":"a x #4","14":"a x #4","15":"a x #4","16":"a x #4","17":"a x #4","18":"a x #4","19":"a x #4","20":"a x #4","21":"a x #4","22":"a x #4","23":"a x #4","24":"a x #4","25":"a x #4","26":"a x #4","27":"a x #4","28":"a x #4","29":"a x #4","30":"a x #4","31":"a x #4","32":"a x #4","33":"a x #4","34":"a x #4","35":"a x #4","36":"a #4","37":"a #4","38":"a #4","39":"a #4","40":"a #4","41":"a #4","42":"a #4","43":"a #4","44":"a #4","45":"a #4","46":"a #4","47":"a #4","48":"a #4","49":"a #4","50":"a #4","51":"a #4","52":"a #4","53":"a #4","54":"a #4","55":"a #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n x d #1","27":"n x d #1","28":"n x d #1","29":"n x d #1","30":"n x d #1","31":"n x d #1","32":"n x d #1","33":"n x d #1","34":"n x d #1","35":"n x d #1","36":"n x d #1","37":"n x d #1","38":"n x d #1","39":"n x d #1","40":"n x d #1","41":"n x d #1","42":"n x d #1","43":"n x d #1","44":"n x d #1","45":"n x d #1","46":"n x d #1","47":"n x d #1","48":"n x d #1","49":"n x d #1","50":"n x d #1","51":"n x d #1","52":"n x d #1","53":"n x d #1","54":"n x d #1","55":"n x d #1","56":"n x d #1","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a x #2 #4","8":"a x #2 #3","9":"a x #2 #3","9.1":"a x #2 #3","10":"a x #2 #3","10.1":"a x #2 #3","TP":"a x #2 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n x d #1","36":"n x d #1","37":"n x d #1","38":"n x d #1","39":"n x d #1","40":"n x d #1","41":"n x d #1","42":"n x d #1","43":"n x d #1","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a x #2","8.1-8.4":"a x #2","9.0-9.2":"a x #2","9.3":"a x #2","10.0-10.2":"a x #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n x d #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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."},"usage_perc_y":0.18,"usage_perc_a":18.32,"ucprefix":false,"parent":"","keywords":"text-decoration-line,text-decoration-style,text-decoration-color,text-decoration-skip","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"iframe-srcdoc":{"title":"srcdoc attribute for iframes","description":"Override the content specified in the `src` attribute (if present) with HTML content within the attribute.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sr…","status":"ls","links":[{"url":"https://docs.webplatform.org/wiki/html/elements/iframe","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe","title":"MDN Docs"},{"url":"https://github.com/jugglinmike/srcdoc-polyfill","title":"Srcdoc Polyfill"},{"url":"https://bocoup.com/weblog/third-party-javascript-development-future/","title":"Article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"p","5":"p","5.1":"p","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":87.04,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"iframesrcdocattribute","chrome_id":"5222955109842944","firefox_id":"","webkit_id":""},"speech-synthesis":{"title":"Speech Synthesis API","description":"A web API for controlling a text-to-speech output.","spec":"https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section","status":"unoff","links":[{"url":"http://updates.html5rocks.com/2014/01/Web-apps-that-talk---Introduction-to-…","title":"HTML5Rocks article"},{"url":"http://www.sitepoint.com/talking-web-pages-and-the-speech-synthesis-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/speech-synthesis-api-demo.html","title":"Demo"},{"url":"http://zenorocha.github.io/voice-elements/","title":"Advanced demo and resource"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y #2","56":"y #2","57":"y #2","58":"y #2","59":"y #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":72.3,"usage_perc_a":0,"ucprefix":false,"parent":"web-speech","keywords":"speech,synthesis,speechSynthesis,TTS,SpeechSynthesisUtterance,","ie_id":"webspeechapisynthesis","chrome_id":"4782875580825600","firefox_id":"webspeech-synthesis","webkit_id":""},"user-timing":{"title":"User Timing API","description":"Method to help web developers measure the performance of their applications by giving them access to high precision timestamps.","spec":"http://www.w3.org/TR/user-timing/","status":"rec","links":[{"url":"http://www.sitepoint.com/discovering-user-timing-api/","title":"SitePoint article"},{"url":"http://www.html5rocks.com/en/tutorials/webperformance/usertiming/","title":"HTML5Rocks article"},{"url":"https://gist.github.com/pmeenan/5902672","title":"Polyfill"},{"url":"http://aurelio.audero.it/demo/user-timing-api-demo.html","title":"Demo"},{"url":"https://github.com/nicjansma/usertiming.js","title":"UserTiming.js polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":71.36,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,testing,mark,measure","ie_id":"usertimingapi","chrome_id":"5066549580791808","firefox_id":"","webkit_id":"specification-user-timing"},"srcset":{"title":"Srcset attribute","description":"Allows 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).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset","status":"ls","links":[{"url":"https://www.webkit.org/blog/2910/improved-support-for-high-resolution-displ…","title":"Improved support for high-resolution displays with the srcset image attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #2","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #2","8":"a #2","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)."},"usage_perc_y":85.25,"usage_perc_a":0.78,"ucprefix":false,"parent":"","keywords":"","ie_id":"imgsrcset","chrome_id":"4644337115725824","firefox_id":"","webkit_id":"feature-srcset-w-descriptor-and-related-sizes-attribute,feature-srcset-x-descriptor"},"ambient-light":{"title":"Ambient Light API","description":"Defines events that provide information about the ambient light level, as measured by a device's light sensor.","spec":"http://www.w3.org/TR/ambient-light/","status":"cr","links":[{"url":"http://aurelio.audero.it/demo/ambient-light-api-demo.html","title":"Demo"},{"url":"http://modernweb.com/2014/05/27/introduction-to-the-ambient-light-api/","title":"Article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support in desktop Firefox refers to support being limited to Mac OS X. [Support for Windows 7 is in progress](https://bugzilla.mozilla.org/show_bug.cgi?id=754199)"},"usage_perc_y":1.52,"usage_perc_a":6.46,"ucprefix":false,"parent":"","keywords":"","ie_id":"ambientlightsensorapi","chrome_id":"5298357018820608","firefox_id":"","webkit_id":""},"will-change":{"title":"CSS will-change property","description":"Method of optimizing animations by informing the browser which elements will change and what properties will change.","spec":"http://dev.w3.org/csswg/css-will-change/","status":"wd","links":[{"url":"https://dev.opera.com/articles/css-will-change-property/","title":"Detailed article"},{"url":"http://aerotwist.com/blog/bye-bye-layer-hacks/","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/will-change","title":"will-change on MDN"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Firefox behind the `layout.css.will-change.enabled` flag"},"usage_perc_y":74.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"scroll-position","ie_id":"csswillchange","chrome_id":"5954199330226176","firefox_id":"","webkit_id":"specification-css-will-change"},"css-shapes":{"title":"CSS Shapes Level 1","description":"Allows geometric shapes to be set in CSS to define an area for text to flow around.","spec":"http://www.w3.org/TR/css-shapes/","status":"cr","links":[{"url":"http://html.adobe.com/webplatform/layout/shapes/","title":"Adobe demos and samples"},{"url":"http://html.adobe.com/webplatform/layout/shapes/browser-support/","title":"CSS shapes support test by Adobe"},{"url":"http://alistapart.com/article/css-shapes-101","title":"A List Apart article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1040714","title":"Firefox tracking bug"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1","35":"n d #1","36":"n d #1","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags"},"usage_perc_y":68.61,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"circle,ellipse,polygon,inset,shape-outside,shape-inside","ie_id":"shapes","chrome_id":"5163890719588352","firefox_id":"css-shapes","webkit_id":"feature-css-shapes-level-1"},"domcontentloaded":{"title":"DOMContentLoaded","description":"JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.).","spec":"https://html.spec.whatwg.org/multipage/syntax.html#stop-parsing","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoa…","title":"MDN: DOMContentLoaded"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"dom,domready,onload,contentloaded,document","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"proximity":{"title":"Proximity API","description":"Defines events that provide information about the distance between a device and an object, as measured by a proximity sensor.","spec":"http://www.w3.org/TR/proximity/","status":"cr","links":[{"url":"http://aurelio.audero.it/demo/proximity-api-demo.html","title":"Demo"},{"url":"http://www.sitepoint.com/introducing-proximity-api/","title":"SitePoint article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":6.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"kerning-pairs-ligatures":{"title":"Improved kerning pairs & ligatures","description":"Currently non-standard method of improving kerning pairs & ligatures using `text-rendering: optimizeLegibility`.","spec":"http://www.w3.org/TR/SVG11/painting.html#TextRenderingProperty","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering","title":"MDN article"},{"url":"http://css-tricks.com/almanac/properties/t/text-rendering/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":87.5,"usage_perc_a":0.69,"ucprefix":false,"parent":"","keywords":"optimizeLegibility,optimizeSpeed,geometricPrecision","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"iframe-seamless":{"title":"seamless attribute for iframes","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 the current specification](https://github.com/whatwg/html/issues/331). ","spec":"https://www.w3.org/TR/html51/semantics.html#attr-iframe-seamless","status":"unoff","links":[{"url":"https://github.com/ornj/seamless-polyfill","title":"Experimental polyfill"},{"url":"http://labs.ft.com/2013/01/seamless-iframes-not-quite-seamless/","title":"Article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=631218","title":"Bug on Firefox support"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n d","26":"n d","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n #1","7.1":"n #1","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n #1","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Chrome 20-26 had partial support behind a flag, though this was [later removed](http://crbug.com/229421).","notes_by_num":{"1":"Hides the border of seamless iframes and recognizes the 'seamless' DOM property, but does not provide actual support."},"usage_perc_y":9.23,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"iframeseamlessattribute","chrome_id":"6630329993396224","firefox_id":"","webkit_id":""},"css-image-orientation":{"title":"CSS3 image-orientation","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.","spec":"http://www.w3.org/TR/css3-images/#image-orientation","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation","title":"MDN article"},{"url":"http://sethfowler.org/blog/2013/09/13/new-in-firefox-26-css-image-orientati…","title":"Blog post"},{"url":"http://jsbin.com/EXUTolo/4","title":"Demo (Chinese)"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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."},"usage_perc_y":6.42,"usage_perc_a":9.81,"ucprefix":false,"parent":"","keywords":"image-orientation,from-image,flip","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"picture":{"title":"Picture element","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","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-el…","status":"ls","links":[{"url":"http://responsiveimages.org/demos/","title":"Demo"},{"url":"http://code.tutsplus.com/tutorials/better-responsive-images-with-the-pictur…","title":"Tutorial"},{"url":"http://usecases.responsiveimages.org/","title":"Read about the use cases"},{"url":"http://responsiveimages.org/","title":"General information about Responsive Images"},{"url":"https://dev.opera.com/articles/responsive-images/","title":"Blog post on usage"},{"url":"http://www.html5rocks.com/tutorials/responsive/picture-element/","title":"HTML5 Rocks tutorial"},{"url":"https://github.com/scottjehl/picturefill","title":"Picturefill - polyfill for picture, srcset, sizes, and more"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #3","35":"n d #3","36":"n d #3","37":"n d #3","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n d #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":75.85,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"<picture>","ie_id":"pictureelement","chrome_id":"5910974510923776","firefox_id":"","webkit_id":"feature-picture-element"},"woff2":{"title":"WOFF 2.0 - Web Open Font Format","description":"TrueType/OpenType font that provides better compression than WOFF 1.0.","spec":"http://www.w3.org/TR/WOFF2/","status":"cr","links":[{"url":"https://gist.github.com/sergejmueller/cf6b4f2133bcb3e2f64a","title":"Basics about WOFF 2.0"},{"url":"http://everythingfonts.com/ttf-to-woff2","title":"WOFF 2.0 converter"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported only on Safari for Mac OS Sierra, not El Capitan & older."},"usage_perc_y":72.94,"usage_perc_a":1.55,"ucprefix":false,"parent":"fontface","keywords":"woff, fontface, webfonts","ie_id":"wofffileformat20","chrome_id":"6718644721549312","firefox_id":"","webkit_id":"specification-woff-file-format-2.0"},"text-size-adjust":{"title":"CSS text-size-adjust","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.","spec":"http://dev.w3.org/csswg/css-size-adjust/","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust","title":"MDN Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1226116","title":"Mozilla Bug\u00a0#1226116: Unprefix -moz-text-size-adjust"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n #2","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n #2","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y x"},"ie_mob":{"10":"y x #1","11":"y x #1"},"and_uc":{"11":"y x"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"If the viewport size is set using a `<meta>` element, the `-ms-text-size-adjust` property is ignored. See [MSDN](https://msdn.microsoft.com/en-us/library/ie/dn793579%28v=vs.85%29.asp…","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."},"usage_perc_y":69.2,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"5730156303876096","firefox_id":"","webkit_id":""},"web-animation":{"title":"Web Animations API","description":"Lets you create animations that are run in the browser and as well as inspect and manipulate animations created through declarative means like CSS.","spec":"http://w3c.github.io/web-animations/","status":"wd","links":[{"url":"http://updates.html5rocks.com/2014/05/Web-Animations---element-animate-is-n…","title":"HTML5 Rocks"},{"url":"http://updates.html5rocks.com/2013/12/New-Web-Animations-engine-in-Blink-dr…","title":"HTML5 Rocks"},{"url":"https://birtles.github.io/areweanimatedyet/","title":"Current Firefox status"},{"url":"https://github.com/web-animations/web-animations-js","title":"Polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"a d #3","34":"a d #3","35":"a d #3","36":"a d #3","37":"a d #3","38":"a d #3","39":"a d #3","40":"a d #3","41":"a d #3","42":"a d #3","43":"a d #3","44":"a d #3","45":"a d #3","46":"a d #3","47":"a #3","48":"a #3","49":"a #3","50":"a #3","51":"a #3","52":"a #3","53":"a #3","54":"a #3","55":"a #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"a #1","37":"a #1","38":"a #1","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #1","24":"a #1","25":"a #1","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"a #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a #2"},"and_qq":{"1.2":"a #2"}},"notes":"","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/)"},"usage_perc_y":0,"usage_perc_a":63.38,"ucprefix":false,"parent":"","keywords":"animate,play,pause,reverse,finish,currentTime,startTime,playbackRate,playState","ie_id":"webanimationsjavascriptapi","chrome_id":"4854343836631040,5633748733263872","firefox_id":"","webkit_id":"specification-web-animations"},"resource-timing":{"title":"Resource Timing","description":"Method to help web developers to collect complete timing information related to resources on a document.","spec":"http://www.w3.org/TR/resource-timing/","status":"cr","links":[{"url":"http://aurelio.audero.it/demo/resource-timing-api-demo.html","title":"Demo"},{"url":"http://googledevelopers.blogspot.com/2013/12/measuring-network-performance-…","title":"Blog post"},{"url":"http://www.sitepoint.com/introduction-resource-timing-api/","title":"SitePoint article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Can be enabled in Firefox using the dom.enable_resource_timing flag"},"usage_perc_y":71.42,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,testing,resource","ie_id":"resourcetimingapi","chrome_id":"5796350423728128","firefox_id":"","webkit_id":"specification-resource-timing"},"custom-elements":{"title":"Custom Elements v0","description":"Method of defining new HTML tags.","spec":"http://www.w3.org/TR/custom-elements/","status":"wd","links":[{"url":"http://w3c.github.io/webcomponents/spec/custom/","title":"W3C Editor's Draft spec (closer to current implementations)"},{"url":"http://www.polymer-project.org/platform/custom-elements.html","title":"Polymer project (polyfill & web components framework)"},{"url":"http://www.html5rocks.com/tutorials/webcomponents/customelements/","title":"HTML5Rocks - Custom Elements: defining new elements in HTML"},{"url":"https://code.google.com/p/chromium/issues/detail?id=234509","title":"Chromium tracking bug: Implement Custom Elements"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=889230","title":"Firefox tracking bug: Implement Custom Elements (from Web Components)"},{"url":"http://status.modern.ie/customelements","title":"IE Web Platform Status and Roadmap: Custom Elements"},{"url":"https://github.com/WebReflection/document-register-element","title":"document.registerElement polyfill in 3KB minified & gzipped"},{"url":"https://developers.google.com/web/fundamentals/primers/customelements/","title":"Google Developers - Custom elements v1: reusable web components"},{"url":"https://github.com/webcomponents/webcomponentsjs/tree/v1/src/CustomElements…","title":"customElements.define polyfill (supersedes document.registerElement)"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"p d #1","31":"p d #1","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"p d #1","45":"p d #1","46":"p d #1","47":"p d #1","48":"p d #1","49":"p d #1","50":"p d #1","51":"p d #1","52":"p d #1","53":"p d #1","54":"p d #1","55":"p d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n d","28":"n d","29":"n d","30":"n d","31":"n d","32":"n d","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n d","16":"n d","17":"n d","18":"n d","19":"n d","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Enabled through the \"dom.webcomponents.enabled\" preference in about:config"},"usage_perc_y":57.81,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components,registerElement","ie_id":"customelements","chrome_id":"4642138092470272","firefox_id":"custom-elements","webkit_id":"feature-custom-elements"},"imports":{"title":"HTML Imports","description":"Method of including and reusing HTML documents in other HTML documents.","spec":"http://www.w3.org/TR/html-imports/","status":"wd","links":[{"url":"http://www.polymer-project.org/platform/html-imports.html","title":"Polymer project (polyfill & web components framework)"},{"url":"http://www.html5rocks.com/tutorials/webcomponents/imports/","title":"HTML5Rocks - HTML Imports: #include for the web"},{"url":"https://code.google.com/p/chromium/issues/detail?id=240592","title":"Chromium tracking bug: Implement HTML Imports"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=877072","title":"Firefox tracking bug: Implement HTML Imports"},{"url":"http://status.modern.ie/htmlimports","title":"IE Web Platform Status and Roadmap: HTML Imports"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"p","31":"p","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"p d #1","45":"p d #1","46":"p d #1","47":"p d #1","48":"p d #1","49":"p d #1","50":"p d #1","51":"p d #1","52":"p d #1","53":"p d #1","54":"p d #1","55":"p d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"p d #3","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n d #4","18":"n d #4","19":"n d #4","20":"n d #4","21":"n d #4","22":"p d #5","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Firefox [has no plans to support HTML imports](https://hacks.mozilla.org/2014/12/mozilla-and-web-components/) though for now it can be enabled through the \"dom.webcomponents.enabled\" preference in about:config","2":"Enabled through the \"Enable HTML Imports\" flag in chrome://flags","3":"Enabled through the \"Experimental Web Platform features\" flag in chrome://flags","4":"Enabled through the \"Enable HTML Imports\" flag in opera://flags","5":"Enabled through the \"Experimental Web Platform features\" flag in opera://flags"},"usage_perc_y":57.05,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components","ie_id":"htmlimports","chrome_id":"5144752345317376","firefox_id":"html-imports","webkit_id":"feature-html-imports"},"input-file-multiple":{"title":"Multiple file selection","description":"Allows users to select multiple files in the file picker.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-multiple","status":"ls","links":[{"url":"https://code.google.com/p/chromium/issues/detail?id=348912","title":"Chrome bug (for Android)"},{"url":"http://www.raymondcamden.com/2012/2/28/Working-with-HTML5s-multiple-file-up…","title":"Article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n #1"},"android":{"2.1":"n #1","2.2":"n #1","2.3":"n #1","3":"n #1","4":"n #1","4.1":"n #1","4.2-4.3":"n #1","4.4":"n #1","4.4.3-4.4.4":"n #1","53":"n #1"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n #1","11":"n #1","11.1":"n #1","11.5":"n #1","12":"n #1","12.1":"n #1","37":"n #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"n #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n #1"},"samsung":{"4":"n #1"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":52.91,"usage_perc_a":25.64,"ucprefix":false,"parent":"forms","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"atob-btoa":{"title":"Base64 encoding and decoding","description":"Utility functions for of encoding and decoding strings to and from base 64: window.atob() and window.btoa().","spec":"https://html.spec.whatwg.org/multipage/webappapis.html#atob","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa","title":"MDN article on btoa()"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window.atob","title":"MDN article on atob()"},{"url":"https://github.com/davidchambers/Base64.js","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"u","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.66,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"atob,btoa","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-appearance":{"title":"CSS Appearance","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.","spec":"https://drafts.csswg.org/css-ui-4/#appearance-switching","status":"wd","links":[{"url":"http://css-tricks.com/almanac/properties/a/appearance/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #1 #2","13":"a #1 #2","14":"a #1 #2","15":"a #1 #2"},"firefox":{"2":"a x #1 #3","3":"a x #1 #3","3.5":"a x #1 #3","3.6":"a x #1 #3","4":"a x #1 #3","5":"a x #1 #3","6":"a x #1 #3","7":"a x #1 #3","8":"a x #1 #3","9":"a x #1 #3","10":"a x #1 #3","11":"a x #1 #3","12":"a x #1 #3","13":"a x #1 #3","14":"a x #1 #3","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1"},"chrome":{"4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"a x #1","3.2":"a x #1","4":"a x #1","5":"a x #1","5.1":"a x #1","6":"a x #1","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a x #1","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"a x #1","4.2-4.3":"a x #1","5.0-5.1":"a x #1","6.0-6.1":"a x #1","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"a x #1","4.1":"a x #1","4.2-4.3":"a x #1","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"a x #1","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"n","11":"a #1 #2"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","notes_by_num":{"1":"The appearance property is supported with the `none` value, but not `auto`. Webkit, Blink, and Gecko browsers also support additional vendor specific values.","2":"Microsoft Edge and IE Mobile support this property with the `-webkit-` prefix, rather than `-ms-` for interop reasons.","3":"-moz-appearance:none doesn't remove the dropdown arrow in select tag"},"usage_perc_y":0,"usage_perc_a":90.35,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"objectrtc":{"title":"Object RTC (ORTC) API for WebRTC","description":"Enables mobile endpoints to talk to servers and web browsers with Real-Time Communications (RTC) capabilities via native and simple JavaScript APIs","spec":"https://www.w3.org/community/ortc/","status":"other","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2014/10/27/bringing-interoperable-real-t…","title":"Bringing Interoperable Real-Time Communications to the Web"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"ORTC is often dubbed WebRTC 1.1. It is possible to make ORTC communicate with WebRTC 1.0 endpoints. See [WebRTC 1.0](http://caniuse.com/#feat=rtcpeerconnection) for support details for that API.","notes_by_num":{},"usage_perc_y":1.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"RTC,WebRTC,ORTC,ObjectRTC,RTCIceTransport,RTCIceGatherer,RTCRtpSender,RTCRtpReceiver,Real Time,video,webcam","ie_id":"webrtcobjectrtcapi","chrome_id":"","firefox_id":"","webkit_id":""},"css-background-offsets":{"title":"CSS background-position edge offsets","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.","spec":"http://www.w3.org/TR/css3-background/#background-position","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/background-position","title":"MDN article on background-position"},{"url":"http://briantree.se/quick-tip-06-use-four-value-syntax-properly-position-ba…","title":"Basic information"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":87.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"4 value syntax","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-supports-api":{"title":"CSS.supports() API","description":"The CSS.supports() static methods returns a Boolean value indicating if the browser supports a given CSS feature, or not.","spec":"http://dev.w3.org/csswg/css-conditional/#the-css-interface","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/CSS.supports","title":"MDN Docs"},{"url":"http://jsbin.com/rimevilotari/1/edit","title":"Demo (Chinese)"},{"url":"https://dev.opera.com/articles/native-css-feature-detection/","title":"Native CSS Feature Detection via the @supports Rule"},{"url":"http://davidwalsh.name/css-supports","title":"CSS @supports"},{"url":"http://blog.csdn.net/hfahe/article/details/8619480","title":"Article (Chinese)"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n d","21":"n d","22":"n d","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See also [@supports in CSS](#feat=css-featurequeries)","notes_by_num":{"1":"Partial support in Presto-based Opera browsers refers to using an older API (`window.supportsCSS`)"},"usage_perc_y":78.56,"usage_perc_a":3.37,"ucprefix":false,"parent":"","keywords":"conditional","ie_id":"conditionalrules","chrome_id":"4993981813358592","firefox_id":"","webkit_id":""},"css-touch-action":{"title":"CSS touch-action property","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.","spec":"http://www.w3.org/TR/pointerevents/#the-touch-action-css-property","status":"rec","links":[{"url":"http://msdn.microsoft.com/en-us/library/windows/apps/hh767313.aspx","title":"MSDN Docs"},{"url":"http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away","title":"300ms tap delay, gone away"},{"url":"http://blogs.telerik.com/appbuilder/posts/13-11-21/what-exactly-is.....-the…","title":"What Exactly Is..... The 300ms Click Delay"},{"url":"http://thx.github.io/mobile/300ms-click-delay/","title":"What Exactly Is..... The 300ms Click Delay (Chinese)"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action","title":"Mozilla Developer Network"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=149854","title":"WebKit bug 149854: Implement touch-action: manipulation; for iOS"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=133112","title":"WebKit bug 133112: touch-action CSS property support"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x #2","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"a #3","10":"a #3","10.1":"a #3","TP":"a #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"a #3","10.0-10.2":"a #3"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"y x #2","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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":"IE10+ has already supported these property which are not in standard at present such as `double-tap-zoom`, `cross-slide-x`, `cross-slide-y`.","3":"Safari only supports `auto` and `manipulation`."},"usage_perc_y":63.17,"usage_perc_a":11.1,"ucprefix":false,"parent":"","keywords":"touch action","ie_id":"csstouchaction","chrome_id":"5912074022551552","firefox_id":"","webkit_id":""},"autofocus":{"title":"Autofocus attribute","description":"Allows a form field to be immediately focused on page load.","spec":"https://html.spec.whatwg.org/multipage/forms.html#autofocusing-a-form-contr…","status":"ls","links":[{"url":"http://davidwalsh.name/autofocus","title":"Article on autofocus"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"While not supported in iOS Safari, it does work in iOS WebViews.","notes_by_num":{},"usage_perc_y":75.25,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-clip-path":{"title":"CSS clip-path property (for HTML)","description":"Method of defining the visible region of an HTML element using SVG or a shape definition.","spec":"http://www.w3.org/TR/css-masking-1/#the-clip-path","status":"cr","links":[{"url":"http://css-tricks.com/almanac/properties/c/clip/","title":"CSS Tricks article"},{"url":"http://codepen.io/dubrod/details/myNNyW/","title":"Codepen Example Clipping an Image with a Polygon"},{"url":"http://lab.iamvdo.me/css-svg-masks","title":"Visual test cases"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1 #3","48":"a #1 #3","49":"a #1 #3","50":"a #1 #3","51":"a #1 #3","52":"a #1 #3","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a x #2","43":"a x #2","44":"a x #2","45":"a x #2","46":"a x #2","47":"a x #2","48":"a x #2","49":"a x #2","50":"a x #2","51":"a x #2","52":"a x #2","53":"a x #2","54":"a x #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"a x #2","7.1":"a x #2","8":"a x #2","9":"a x #2","9.1":"a x #2","10":"a x #2","10.1":"a x #2","TP":"a x #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #2","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"a x #2","22":"a x #2","23":"a x #2","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a x #2","8":"a x #2","8.1-8.4":"a x #2","9.0-9.2":"a x #2","9.3":"a x #2","10.0-10.2":"a x #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x #2","4.4.3-4.4.4":"a x #2","53":"a x #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"a #1 #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x #2"},"and_qq":{"1.2":"a x #2"}},"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"},"usage_perc_y":0.01,"usage_perc_a":77.86,"ucprefix":false,"parent":"css-masks","keywords":"clippath","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"getrandomvalues":{"title":"crypto.getRandomValues()","description":"Method of generating cryptographically random values.","spec":"http://www.w3.org/TR/WebCryptoAPI/#RandomSource-method-getRandomValues","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomVal…","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y x"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y x"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":83.52,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"screen-orientation":{"title":"Screen Orientation","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.","spec":"http://www.w3.org/TR/screen-orientation/","status":"wd","links":[{"url":"http://aurelio.audero.it/demo/screen-orientation-api-demo.html","title":"Demo"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Screen.orientation","title":"MDN article"},{"url":"http://www.sitepoint.com/introducing-screen-orientation-api/","title":"SitePoint article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a x"},"edge":{"12":"a x","13":"a x","14":"a x","15":"a x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"a x","35":"a x","36":"a x","37":"a x","38":"a x","39":"a x","40":"a x","41":"a x","42":"a x","43":"a x","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"a x"},"and_uc":{"11":"y"},"samsung":{"4":"u"},"and_qq":{"1.2":"n"}},"notes":"Partial support refers to an [older version](http://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":{},"usage_perc_y":68.55,"usage_perc_a":6.17,"ucprefix":false,"parent":"","keywords":"lockorientation,unlockorientation","ie_id":"screenorientationapi","chrome_id":"6191285283061760","firefox_id":"screen-orientation","webkit_id":""},"font-loading":{"title":"CSS Font Loading","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.","spec":"http://dev.w3.org/csswg/css-font-loading/","status":"cr","links":[{"url":"https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance…","title":"Optimizing with font load events"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)"},"usage_perc_y":73.03,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"fontface,fontfaceset,fontfacesource","ie_id":"","chrome_id":"6244676289953792","firefox_id":"","webkit_id":""},"font-unicode-range":{"title":"Font unicode-range subsetting","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.","spec":"http://dev.w3.org/csswg/css-fonts/#descdef-unicode-range","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-range","title":"MDN: unicode-range"},{"url":"https://developer.apple.com/library/safari/documentation/AppleApplications/…","title":"Safari CSS Reference: unicode-range"},{"url":"http://docs.webplatform.org/wiki/css/properties/unicode-range","title":"Web Platform Docs: unicode-range"},{"url":"http://jsbin.com/jeqoguzeye/1/edit?html,output","title":"Demo"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"y"},"bb":{"7":"n","10":"a"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"y"}},"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-K….","notes_by_num":{"1":"Can be enabled in Firefox using the `layout.css.unicode-range.enabled` flag"},"usage_perc_y":69.25,"usage_perc_a":24.47,"ucprefix":false,"parent":"","keywords":"font face,unicode,unicode-range","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"gamepad":{"title":"Gamepad API","description":"API to support input from USB gamepad controllers through JavaScript.","spec":"http://www.w3.org/TR/gamepad/","status":"wd","links":[{"url":"http://luser.github.io/gamepadtest/","title":"Controller demo"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API","title":"MDN article"},{"url":"http://www.html5rocks.com/en/tutorials/doodles/gamepad/","title":"HTML5Rocks article"},{"url":"http://gamedevelopment.tutsplus.com/tutorials/using-the-html5-gamepad-api-t…","title":"Detailed tutorial"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y x","22":"y x","23":"y x","24":"y x","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Can be enabled via the \"Experimental Features\" developer menu"},"usage_perc_y":65.6,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"gamepadapi","chrome_id":"5118776383111168","firefox_id":"gamepad","webkit_id":""},"css-font-stretch":{"title":"CSS font-stretch","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.","spec":"http://www.w3.org/TR/css-fonts-3/#font-stretch-prop","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch","title":"MDN article"},{"url":"http://css-tricks.com/almanac/properties/f/font-stretch/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":65.07,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"font stretch","ie_id":"cssfontstretch","chrome_id":"4598830058176512","firefox_id":"","webkit_id":""},"font-size-adjust":{"title":"CSS font-size-adjust","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.","spec":"http://www.w3.org/TR/css-fonts-3/#font-size-adjust-prop","status":"cr","links":[{"url":"http://webdesignernotebook.com/css/the-little-known-font-size-adjust-css3-p…","title":"Article on font-size-adjust"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust","title":"MDN article on font-size-adjust"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n #2"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Enabled through the \"experimental Web Platform features\" flag in chrome://flags","2":"Does not appear to work on Firefox mobile, despite recognition of the property."},"usage_perc_y":6.67,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"5720910061371392","firefox_id":"","webkit_id":""},"link-icon-png":{"title":"PNG favicons","description":"Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the PNG format can be preferable.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#rel-icon","status":"ls","links":[{"url":"http://css-tricks.com/favicon-quiz/","title":"Detailed info on favicons for various uses"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1"},"safari":{"3.1":"y #2","3.2":"y #2","4":"y #2","5":"y #2","5.1":"y #2","6":"y #2","6.1":"y #2","7":"y #2","7.1":"y #2","8":"y #2","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"y #3","9.5-9.6":"y #3","10.0-10.1":"y #3","10.5":"y #3","10.6":"y #3","11":"y #3","11.1":"y #3","11.5":"y #3","11.6":"y #3","12":"y #3","12.1":"y #3","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"n #4","4.0-4.1":"n #4","4.2-4.3":"n #4","5.0-5.1":"n #4","6.0-6.1":"n #4","7.0-7.1":"n #4","8":"n #4","8.1-8.4":"n #4","9.0-9.2":"n #4","9.3":"n #4","10.0-10.2":"n #4"},"op_mini":{"all":"n #4"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y #3","4.4.3-4.4.4":"y #3","53":"y #3"},"bb":{"7":"y","10":"n #4"},"op_mob":{"10":"n #4","11":"n #4","11.1":"n #4","11.5":"n #4","12":"n #4","12.1":"n #4","37":"n #4"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n #4","11":"n #4"},"and_uc":{"11":"y #2"},"samsung":{"4":"y #3"},"and_qq":{"1.2":"y #1"}},"notes":"Win8/IE10+ and iOS Safari support other types of icons for webpages too, using alternate tags.\r\n\r\nSee also [SVG favicons](#feat=link-icon-svg).","notes_by_num":{"1":"If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set.","2":"If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set.","3":"If multiple formats are available, will use the last one loaded, regardless of sizes (effectively picks at random).","4":"Does not use favicons at all (but may have alternative for bookmarks, etc.)."},"usage_perc_y":83.87,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-icon-svg":{"title":"SVG favicons","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.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#rel-icon","status":"ls","links":[{"url":"http://crbug.com/294179","title":"Chrome bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5","SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y #4","52":"y #4","53":"y #4","54":"y #4","55":"y #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"u","58":"u","59":"u"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a #3","9.1":"a #3","10":"a #3","10.1":"a #3","TP":"a #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n #1","4.0-4.1":"n #1","4.2-4.3":"n #1","5.0-5.1":"n #1","6.0-6.1":"n #1","7.0-7.1":"n #1","8":"n #1","8.1-8.4":"n #1","9.0-9.2":"a #3","9.3":"a #3","10.0-10.2":"a #3"},"op_mini":{"all":"n #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n #1","11":"n #1","11.1":"n #1","11.5":"n #1","12":"n #1","12.1":"n #1","37":"n #1"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n #1","11":"n #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"See also [PNG favicons](#feat=link-icon-png).","notes_by_num":{"1":"Does not use favicons at all","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":"Safari 9 has support for \"[pinned tab](https://developer.apple.com/library/prerelease/content/releasenotes/Ge…" SVG icons, but this requires an unofficial `rel=\"mask-icon\"` to be set and only works for all-black icons on Pinned Tabs.","4":"Firefox [requires](https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c50) the served mime-type to be 'image/svg+xml'."},"usage_perc_y":6.11,"usage_perc_a":11.78,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-media-resolution":{"title":"Media Queries: resolution feature","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.","spec":"http://www.w3.org/TR/css3-mediaqueries/#resolution","status":"rec","links":[{"url":"http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/","title":"How to unprefix -webkit-device-pixel-ratio"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=78087","title":"WebKit Bug 78087: Implement the 'resolution' media query"},{"url":"https://compat.spec.whatwg.org/#css-media-queries-webkit-device-pixel-ratio","title":"WHATWG Compatibility Standard: -webkit-device-pixel-ratio"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a #2","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #3","5":"a x #3","6":"a x #3","7":"a x #3","8":"a x #3","9":"a x #3","10":"a x #3","11":"a x #3","12":"a x #3","13":"a x #3","14":"a x #3","15":"a x #3","16":"a x #3","17":"a x #3","18":"a x #3","19":"a x #3","20":"a x #3","21":"a x #3","22":"a x #3","23":"a x #3","24":"a x #3","25":"a x #3","26":"a x #3","27":"a x #3","28":"a x #3","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"a x #3","5":"a x #3","5.1":"a x #3","6":"a x #3","6.1":"a x #3","7":"a x #3","7.1":"a x #3","8":"a x #3","9":"a x #3","9.1":"a x #3","10":"a x #3","10.1":"a x #3","TP":"a x #3"},"opera":{"9":"n","9.5-9.6":"a x #3","10.0-10.1":"a x #3","10.5":"a x #3","10.6":"a x #3","11":"a x #3","11.1":"a x #3","11.5":"a x #3","11.6":"a x #3","12":"a x #3","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"a x #3","4.2-4.3":"a x #3","5.0-5.1":"a x #3","6.0-6.1":"a x #3","7.0-7.1":"a x #3","8":"a x #3","8.1-8.4":"a x #3","9.0-9.2":"a x #3","9.3":"a x #3","10.0-10.2":"a x #3"},"op_mini":{"all":"a #1"},"android":{"2.1":"u","2.2":"u","2.3":"a x #3","3":"a x #3","4":"a x #3","4.1":"a x #3","4.2-4.3":"a x #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a x #3","10":"a x #3"},"op_mob":{"10":"a x #3","11":"a x #3","11.1":"a x #3","11.5":"a x #3","12":"a x #3","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a x #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`"},"usage_perc_y":67.42,"usage_perc_a":30.46,"ucprefix":false,"parent":"css-mediaqueries","keywords":"@media,device-pixel-ratio,resolution,dppx,dpcm,dpi","ie_id":"mediaqueriesresolutionfeature,dppxunitfortheresolutionmediaquery","chrome_id":"5944509615570944","firefox_id":"","webkit_id":""},"xml-serializer":{"title":"DOM Parsing and Serialization","description":"Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `insertAdjacentHTML`.","spec":"http://www.w3.org/TR/DOM-Parsing/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/XMLSerializer","title":"MDN - XMLSerializer"},{"url":"http://ejohn.org/blog/dom-insertadjacenthtml/","title":"Comparing Document Position by John Resig"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #2","3":"a #2","3.5":"a #2","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #3","9":"a #3","10":"a #3","11":"a #1","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"u","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`."},"usage_perc_y":83.33,"usage_perc_a":15.03,"ucprefix":false,"parent":"","keywords":"parseFromString","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-image-set":{"title":"CSS image-set","description":"Method of letting the browser pick the most appropriate CSS background image from a given set, primarily for high PPI screens.","spec":"http://dev.w3.org/csswg/css-images-3/#image-set-notation","status":"unoff","links":[{"url":"http://cloudfour.com/examples/image-set/","title":"Demo"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{},"usage_perc_y":80.57,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"cssimageset","chrome_id":"","firefox_id":"","webkit_id":""},"css-boxdecorationbreak":{"title":"CSS box-decoration-break","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).","spec":"http://www.w3.org/TR/css3-break/#break-decoration","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break","title":"MDN article"},{"url":"http://jsbin.com/xojoro/edit?css,output","title":"Demo of effect on box border"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a x #1","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y #1","11.1":"y #1","11.5":"y #1","11.6":"y #1","12":"y #1","12.1":"y #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"a #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"n","10":"a x #1"},"op_mob":{"10":"n","11":"y #1","11.1":"y #1","11.5":"y #1","12":"y #1","12.1":"y #1","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","notes_by_num":{"1":"Partial support refers to working for inline elements but not across column or page breaks."},"usage_perc_y":6.45,"usage_perc_a":74.57,"ucprefix":false,"parent":"","keywords":"box-decoration,box decoration,break","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"object-observe":{"title":"Object.observe data binding","description":"Method for data binding, a now-withdrawn ECMAScript 7 proposal","spec":"http://wiki.ecmascript.org/doku.php?id=harmony:observe","status":"unoff","links":[{"url":"http://www.html5rocks.com/en/tutorials/es7/observe/","title":"Data-binding Revolutions with Object.observe()"},{"url":"https://github.com/MaxArt2501/object-observe","title":"Polyfill"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=800355","title":"Firefox tracking bug"},{"url":"https://esdiscuss.org/topic/an-update-on-object-observe","title":"An update on Object.observe"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support in Blink-based browsers is expected to be removed in future versions.","notes_by_num":{},"usage_perc_y":6.3,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"objectobserve","chrome_id":"6147094632988672","firefox_id":"","webkit_id":""},"css-at-counter-style":{"title":"CSS Counter Styles","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.","spec":"http://dev.w3.org/csswg/css-counter-styles/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@counter-style","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support in Firefox refers to lacking support for [image symbols](https://bugzilla.mozilla.org/show_bug.cgi?id=1024179)"},"usage_perc_y":0,"usage_perc_a":6.33,"ucprefix":false,"parent":"","keywords":"css @counter-style, list-style","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-page-break":{"title":"CSS page-break properties","description":"Properties to control the way elements are broken across (printed) pages.","spec":"http://www.w3.org/TR/CSS2/page.html#page-breaks","status":"rec","links":[{"url":"https://css-tricks.com/almanac/properties/p/page-break/","title":"CSS Tricks article"},{"url":"http://dev.w3.org/csswg/css-break-3/#break-between","title":"Latest fragmentation specification (includes column & region breaks)"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1 #2 #3","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2","11":"a #1 #2"},"edge":{"12":"a #1 #2","13":"a #1 #2","14":"a #1 #2","15":"a #1 #2"},"firefox":{"2":"a #1 #2 #3","3":"a #1 #2 #3","3.5":"a #1 #2 #3","3.6":"a #1 #2 #3","4":"a #1 #2 #3","5":"a #1 #2 #3","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2 #3","11":"a #1 #2 #3","12":"a #1 #2 #3","13":"a #1 #2 #3","14":"a #1 #2 #3","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #1 #2 #3","24":"a #1 #2 #3","25":"a #1 #2 #3","26":"a #1 #2 #3","27":"a #1 #2 #3","28":"a #1 #2 #3","29":"a #1 #2 #3","30":"a #1 #2 #3","31":"a #1 #2 #3","32":"a #1 #2 #3","33":"a #1 #2 #3","34":"a #1 #2 #3","35":"a #1 #2 #3","36":"a #1 #2 #3","37":"a #1 #2 #3","38":"a #1 #2 #3","39":"a #1 #2 #3","40":"a #1 #2 #3","41":"a #1 #2 #3","42":"a #1 #2 #3","43":"a #1 #2 #3","44":"a #1 #2 #3","45":"a #1 #2 #3","46":"a #1 #2 #3","47":"a #1 #2 #3","48":"a #1 #2 #3","49":"a #1 #2 #3","50":"a #1 #2 #3","51":"a #1 #2 #3","52":"a #1 #2 #3","53":"a #1 #2 #3","54":"a #1 #2 #3","55":"a #1 #2 #3"},"chrome":{"4":"a #1 #2 #3","5":"a #1 #2 #3","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2 #3","11":"a #1 #2 #3","12":"a #1 #2 #3","13":"a #1 #2 #3","14":"a #1 #2 #3","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #1 #2 #3","24":"a #1 #2 #3","25":"a #1 #2 #3","26":"a #1 #2 #3","27":"a #1 #2 #3","28":"a #1 #2 #3","29":"a #1 #2 #3","30":"a #1 #2 #3","31":"a #1 #2 #3","32":"a #1 #2 #3","33":"a #1 #2 #3","34":"a #1 #2 #3","35":"a #1 #2 #3","36":"a #1 #2 #3","37":"a #1 #2 #3","38":"a #1 #2 #3","39":"a #1 #2 #3","40":"a #1 #2 #3","41":"a #1 #2 #3","42":"a #1 #2 #3","43":"a #1 #2 #3","44":"a #1 #2 #3","45":"a #1 #2 #3","46":"a #1 #2 #3","47":"a #1 #2 #3","48":"a #1 #2 #3","49":"a #1 #2 #3","50":"a #1 #2 #3","51":"a #1 #2 #3","52":"a #1 #2 #3","53":"a #1 #2 #3","54":"a #1 #2 #3","55":"a #1 #2 #3","56":"a #1 #2 #3","57":"a #1 #2 #3","58":"a #1 #2 #3","59":"a #1 #2 #3"},"safari":{"3.1":"a #1 #2 #3","3.2":"a #1 #2 #3","4":"a #1 #2 #3","5":"a #1 #2 #3","5.1":"a #1 #2 #3","6":"a #1 #2 #3","6.1":"a #1 #2 #3","7":"a #1 #2 #3","7.1":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","9.1":"a #1 #2 #3","10":"a #2 #3","10.1":"a #1 #2 #3","TP":"a #1 #2 #3"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y #1","10.5":"y #1","10.6":"y #1","11":"y #1","11.1":"y #1","11.5":"y #1","11.6":"y #1","12":"y #1","12.1":"y #1","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #1 #2 #3","24":"a #1 #2 #3","25":"a #1 #2 #3","26":"a #1 #2 #3","27":"a #1 #2 #3","28":"a #1 #2 #3","29":"a #1 #2 #3","30":"a #1 #2 #3","31":"a #1 #2 #3","32":"a #1 #2 #3","33":"a #1 #2 #3","34":"a #1 #2 #3","35":"a #1 #2 #3","36":"a #1 #2 #3","37":"a #1 #2 #3","38":"a #1 #2 #3","39":"a #1 #2 #3","40":"a #1 #2 #3","41":"a #1 #2 #3","42":"a #1 #2 #3","43":"a #1 #2 #3","44":"a #1 #2 #3","45":"a #1 #2 #3"},"ios_saf":{"3.2":"a #1 #2 #3","4.0-4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","5.0-5.1":"a #1 #2 #3","6.0-6.1":"a #1 #2 #3","7.0-7.1":"a #1 #2 #3","8":"a #1 #2 #3","8.1-8.4":"a #1 #2 #3","9.0-9.2":"a #1 #2 #3","9.3":"a #1 #2 #3","10.0-10.2":"a #1 #2 #3"},"op_mini":{"all":"y #1"},"android":{"2.1":"a #1 #2 #3","2.2":"a #1 #2 #3","2.3":"a #1 #2 #3","3":"a #1 #2 #3","4":"a #1 #2 #3","4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","4.4":"a #1 #2 #3","4.4.3-4.4.4":"a #1 #2 #3","53":"a #1 #2 #3"},"bb":{"7":"a #1 #2 #3","10":"a #1 #2 #3"},"op_mob":{"10":"y #1","11":"y #1","11.1":"y #1","11.5":"y #1","12":"y #1","12.1":"y #1","37":"a #1 #2 #3"},"and_chr":{"56":"a #1 #2 #3"},"and_ff":{"51":"a #1 #2 #3"},"ie_mob":{"10":"a #1 #2","11":"a #1 #2"},"and_uc":{"11":"a #1 #2 #3"},"samsung":{"4":"a #1 #2 #3"},"and_qq":{"1.2":"a #1 #2 #3"}},"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":"Does not support `avoid` for `page-break-before` & `page-break-after` (only `page-break-inside`).","3":"Treats the `left` and `right` values like `always`."},"usage_perc_y":3.44,"usage_perc_a":94.92,"ucprefix":false,"parent":"","keywords":"page-break-before,page-break-after,page-break-inside,always,avoid","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-placeholder-shown":{"title":":placeholder-shown CSS pseudo-class","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.","spec":"http://www.w3.org/TR/selectors4/#placeholder","status":"wd","links":[{"url":"http://trac.webkit.org/changeset/172826","title":"WebKit commit"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1069015","title":"Firefox bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"For support of styling the actual placeholder text itself, see [CSS ::placeholder](http://caniuse.com/#feat=css-placeholder)","notes_by_num":{},"usage_perc_y":68.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":":placeholder-shown,placeholder-shown,placeholder","ie_id":"","chrome_id":"6404760559157248","firefox_id":"","webkit_id":"feature-css-selector-:placeholder-shown"},"broadcastchannel":{"title":"BroadcastChannel","description":"BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers) to send each other messages.","spec":"https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-bro…","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":56.07,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"broadcast,channel,messaging","ie_id":"","chrome_id":"4585496197988352","firefox_id":"","webkit_id":""},"css-crisp-edges":{"title":"Crisp edges/pixelated images","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`.","spec":"http://dev.w3.org/csswg/css-images-3/#valdef-image-rendering-crisp-edges","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering","title":"MDN article"},{"url":"http://updates.html5rocks.com/2015/01/pixelated","title":"HTML5Rocks article"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"a x #2 #5","8":"a x #2 #5","9":"a x #2 #5","10":"a x #2 #5","11":"a x #2 #5"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y x #3","4":"y x #3","5":"y x #3","6":"y x #3","7":"y x #3","8":"y x #3","9":"y x #3","10":"y x #3","11":"y x #3","12":"y x #3","13":"y x #3","14":"y x #3","15":"y x #3","16":"y x #3","17":"y x #3","18":"y x #3","19":"y x #3","20":"y x #3","21":"y x #3","22":"y x #3","23":"y x #3","24":"y x #3","25":"y x #3","26":"y x #3","27":"y x #3","28":"y x #3","29":"y x #3","30":"y x #3","31":"y x #3","32":"y x #3","33":"y x #3","34":"y x #3","35":"y x #3","36":"y x #3","37":"y x #3","38":"y x #3","39":"y x #3","40":"y x #3","41":"y x #3","42":"y x #3","43":"y x #3","44":"y x #3","45":"y x #3","46":"y x #3","47":"y x #3","48":"y x #3","49":"y x #3","50":"y x #3","51":"y x #3","52":"y x #3","53":"y x #3","54":"y x #3","55":"y x #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y #4","52":"y #4","53":"y #4","54":"y #4","55":"y #4","56":"y #4","57":"y #4","58":"y #4","59":"y #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a x #1","6.1":"a x #3 #6","7":"a x #3 #6","7.1":"a x #3 #6","8":"a x #3 #6","9":"a x #3 #6","9.1":"a x #3 #6","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y x #3","12":"y x #3","12.1":"y x #3","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y #4","29":"y #4","30":"y #4","31":"y #4","32":"y #4","33":"y #4","34":"y #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a x #1 #6","6.0-6.1":"a x #1 #6","7.0-7.1":"a x #3 #6","8":"a x #3 #6","8.1-8.4":"a x #3 #6","9.0-9.2":"a x #3 #6","9.3":"a x #3 #6","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y #4"},"bb":{"7":"n","10":"a x #1 #6"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y x #3","12.1":"y x #3","37":"y #4"},"and_chr":{"56":"y #4"},"and_ff":{"51":"y x #3"},"ie_mob":{"10":"a x #2 #5","11":"a x #2 #5"},"and_uc":{"11":"a x #1 #6"},"samsung":{"4":"y #4"},"and_qq":{"1.2":"n"}},"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>`. "},"usage_perc_y":73.28,"usage_perc_a":16.45,"ucprefix":false,"parent":"","keywords":"image-rendering,crisp-edges","ie_id":"","chrome_id":"5118058116939776","firefox_id":"","webkit_id":""},"css-text-align-last":{"title":"CSS3 text-align-last","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`.","spec":"http://www.w3.org/TR/css3-text/#text-align-last-property","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last","title":"MDN text-align-last"},{"url":"http://blogs.adobe.com/webplatform/2014/02/25/improving-your-sites-visual-d…","title":"Adobe Web Platform Article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2","46":"n d #2","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n d #3","23":"n d #3","24":"n d #3","25":"n d #3","26":"n d #3","27":"n d #3","28":"n d #3","29":"n d #3","30":"n d #3","31":"n d #3","32":"n d #3","33":"n d #3","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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"},"usage_perc_y":59,"usage_perc_a":6.64,"ucprefix":false,"parent":"","keywords":"text align last","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-logical-props":{"title":"CSS Logical Properties","description":"Use start/end properties that depend on LTR or RTL writing direction instead of left/right","spec":"http://dev.w3.org/csswg/css-logical-props/","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-margin-start","title":"MDN -moz-margin-start"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-padding-start","title":"MDN -moz-padding-start"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #2","5":"a x #2","6":"a x #2","7":"a x #2","8":"a x #2","9":"a x #2","10":"a x #2","11":"a x #2","12":"a x #2","13":"a x #2","14":"a x #2","15":"a x #2","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"a x #2","22":"a x #2","23":"a x #2","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a x #2","43":"a x #2","44":"a x #2","45":"a x #2","46":"a x #2","47":"a x #2","48":"a x #2","49":"a x #2","50":"a x #2","51":"a x #2","52":"a x #2","53":"a x #2","54":"a x #2","55":"a x #2","56":"a x #2","57":"a x #2","58":"a x #2","59":"a x #2"},"safari":{"3.1":"a x #2","3.2":"a x #2","4":"a x #2","5":"a x #2","5.1":"a x #2","6":"a x #2","6.1":"a x #2","7":"a x #2","7.1":"a x #2","8":"a x #2","9":"a x #2","9.1":"a x #2","10":"a x #2","10.1":"a x #2","TP":"a x #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #2","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"a x #2","22":"a x #2","23":"a x #2","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a x #2","43":"a x #2","44":"a x #2","45":"a x #2"},"ios_saf":{"3.2":"a x #2","4.0-4.1":"a x #2","4.2-4.3":"a x #2","5.0-5.1":"a x #2","6.0-6.1":"a x #2","7.0-7.1":"a x #2","8":"a x #2","8.1-8.4":"a x #2","9.0-9.2":"a x #2","9.3":"a x #2","10.0-10.2":"a x #2"},"op_mini":{"all":"n"},"android":{"2.1":"a x #2","2.2":"a x #2","2.3":"a x #2","3":"a x #2","4":"a x #2","4.1":"a x #2","4.2-4.3":"a x #2","4.4":"a x #2","4.4.3-4.4.4":"a x #2","53":"a x #2"},"bb":{"7":"a x #2","10":"a x #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #2"},"and_chr":{"56":"a x #2"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #2"},"samsung":{"4":"a x #2"},"and_qq":{"1.2":"a x #2"}},"notes":"","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`"},"usage_perc_y":6.11,"usage_perc_a":82.16,"ucprefix":false,"parent":"","keywords":"margin-start,margin-end,padding-start,padding-end,border-start,border-end,inline-start,inline-end,block-start,block-end,block-size,inline-size","ie_id":"csslogicalpropertieslevel1","chrome_id":"","firefox_id":"","webkit_id":""},"fetch":{"title":"Fetch","description":"A modern replacement for XMLHttpRequest.","spec":"https://fetch.spec.whatwg.org/","status":"ls","links":[{"url":"https://github.com/github/fetch","title":"Polyfill"},{"url":"http://addyosmani.com/demos/fetch-api/","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1 #4","35":"n d #1 #4","36":"n d #1 #4","37":"n d #1 #4","38":"n d #1 #4","39":"y #4","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"a #2","41":"a #2 #3","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"a #2","28":"a #2 #3","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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. https://bugzilla.mozilla.org/show_bug.cgi?id=1161625","5":"Appears to exist in Safari Technology Preview but does not work in current build. Should work in [next preview build](https://twitter.com/xeenon/status/715379838081576960)","6":"Can be enabled in `about:flags`"},"usage_perc_y":64.39,"usage_perc_a":0.08,"ucprefix":false,"parent":"","keywords":"fetch,service,workers,xhr,xmlhttprequest","ie_id":"fetchapi","chrome_id":"6730533392351232","firefox_id":"fetch","webkit_id":"specification-fetch-api"},"referrer-policy":{"title":"Referrer Policy","description":"Allow control of HTTP referrers via the referrer meta tag.","spec":"http://w3c.github.io/webappsec/specs/referrer-policy/","status":"wd","links":[{"url":"https://blog.mozilla.org/security/2015/01/21/meta-referrer/","title":"Mozilla security article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supports an [older draft](https://wiki.whatwg.org/wiki/Meta_referrer) of the specification with `never`, `always`, `origin` & `default` values.\r\n"},"usage_perc_y":60.3,"usage_perc_a":13.39,"ucprefix":false,"parent":"","keywords":"meta,referrer,referer","ie_id":"metareferrer","chrome_id":"","firefox_id":"","webkit_id":""},"background-attachment":{"title":"CSS background-attachment","description":"Method of defining how a background image is attached to a scrollable element. Values include `scroll` (default), `fixed` and `local`.","spec":"http://www.w3.org/TR/css3-background/#the-background-attachment","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment","title":"MDN article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2 #3","6.0-6.1":"a #2 #3","7.0-7.1":"a #2 #3","8":"a #2 #3","8.1-8.4":"a #2 #3","9.0-9.2":"a #2 #3","9.3":"a #2 #3","10.0-10.2":"a #2 #3"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"a #1","4.2-4.3":"a #1","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"a #2","10":"a #2"},"op_mob":{"10":"a #1","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"a #4"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"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://crbug.com/627037) only supports `local` if a `border-radius` is set on the element."},"usage_perc_y":43.63,"usage_perc_a":46.13,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"currentcolor":{"title":"CSS currentColor value","description":"A CSS value that will apply the existing `color` value to other properties like `background-color`, etc. ","spec":"http://www.w3.org/TR/css3-color/#currentcolor","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentColor_k…","title":"MDN article"},{"url":"http://css-tricks.com/currentcolor/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.92,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-pattern":{"title":"Pattern attribute for input fields","description":"Allows validation of an input field based on a given regular expression pattern.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-pattern-attribute","status":"ls","links":[{"url":"http://html5pattern.com","title":"Site with common sample patterns"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a #1 #2","6":"a #1 #2","6.1":"a #1 #2","7":"a #1 #2","7.1":"a #1 #2","8":"a #1 #2","9":"a #1 #2","9.1":"a #1 #2","10":"a #1 #2","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"a #1 #2","6.0-6.1":"a #1 #2","7.0-7.1":"a #1 #2","8":"a #1 #2","8.1-8.4":"a #1 #2","9.0-9.2":"a #1 #2","9.3":"a #1 #2","10.0-10.2":"a #1 #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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](http://caniuse.com/#feat=form-validation) for details."},"usage_perc_y":79.82,"usage_perc_a":12.59,"ucprefix":false,"parent":"form-validation","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"registerprotocolhandler":{"title":"Custom protocol handling","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.","spec":"https://html.spec.whatwg.org/multipage/webappapis.html#custom-handlers","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocol…","title":"MDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y #1","12":"y #1","12.1":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"y #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Supports protocols `mailto`, `mms`, `nntp`, `rtsp`, and `webcal` but requires custom protocols to start with `web+`"},"usage_perc_y":35.18,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-snappoints":{"title":"CSS Scroll snap points","description":"CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap points.","spec":"http://www.w3.org/TR/css-snappoints-1/","status":"cr","links":[{"url":"http://generatedcontent.org/post/66817675443/setting-native-like-scrolling-…","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap_Points","title":"MDN Documentation for CSS Scroll snap points"},{"url":"https://github.com/ckrack/scrollsnap-polyfill","title":"Polyfill"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #5 #6","11":"a x #2 #5 #6"},"edge":{"12":"a x #2 #5 #6","13":"a x #2 #5 #6","14":"a x #2 #5 #6","15":"a x #2 #5 #6"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"a #5","40":"a #5","41":"a #5","42":"a #5","43":"a #5","44":"a #5","45":"a #5","46":"a #5","47":"a #5","48":"a #5","49":"a #5","50":"a #5","51":"a #5","52":"a #5","53":"a #5","54":"a #5","55":"a #5"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a x #4 #5","9.1":"a x #4 #5","10":"a x #4 #5","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"a x #4 #5","9.3":"a x #4 #5","10.0-10.2":"a x #4 #5"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"a #5"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap…","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`."},"usage_perc_y":0.01,"usage_perc_a":22.94,"ucprefix":false,"parent":"","keywords":"scroll-snap-points-x,scroll-snap-points-y,scroll-snap-type,scroll-snap-destination,scroll-snap-coordinate,scroll-snap-margin,scroll-snap-align","ie_id":"cssscrollsnappoints","chrome_id":"5721832506261504","firefox_id":"","webkit_id":"specification-css-scroll-snap-points-module-level-1"},"input-minlength":{"title":"Minimum length attribute for input fields","description":"Declares a lower bound on the number of characters a user can input.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-maxlength-and-minleng…","status":"ls","links":[{"url":"http://www.w3.org/TR/html5/forms.html#setting-minimum-input-length-requirem…","title":"W3C usage example"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=932755","title":"Firefox tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=149832","title":"WebKit feature request bug"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"The [`pattern` attribute](http://caniuse.com/#feat=input-pattern) can be used [as an alternative](http://stackoverflow.com/a/10294291) solution for browsers without support.","notes_by_num":{},"usage_perc_y":58.03,"usage_perc_a":0,"ucprefix":false,"parent":"form-validation","keywords":"","ie_id":"","chrome_id":"6023370181181440","firefox_id":"","webkit_id":""},"css-media-interaction":{"title":"Media Queries: interaction media features","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.","spec":"http://www.w3.org/TR/mediaqueries-4/#mf-interaction","status":"wd","links":[{"url":"http://jordanm.co.uk/2013/11/11/potential-use-cases-for-script-hover-and-po…","title":"Potential use cases for script, hover and pointer CSS Level 4 Media Features"},{"url":"https://dev.opera.com/articles/media-features/","title":"Interaction Media Features and their potential (for incorrect assumptions)"},{"url":"https://github.com/twbs/mq4-hover-shim","title":"Polyfill for the `hover` media feature"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":66.14,"usage_perc_a":0,"ucprefix":false,"parent":"css-mediaqueries","keywords":"@media,interaction,hover,any-hover,css pointer,any-pointer,pointer:coarse,pointer:fine","ie_id":"mediaquerieslevel4pointerandhover","chrome_id":"6460705494532096","firefox_id":"","webkit_id":""},"ime":{"title":"Input Method Editor API","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.","spec":"http://www.w3.org/TR/ime-api/","status":"wd","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2014/03/31/building-better-input-experie…","title":"Building Better Input Experience for East Asian Users with the IME API in IE11"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y x #1"},"edge":{"12":"y x #1","13":"y x #1","14":"y x #1","15":"y x #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y x #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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'"},"usage_perc_y":5.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ime,cjk,input,internationalization,inputMethodContext,candidatewindow,composition","ie_id":"imeapi","chrome_id":"6366722080636928","firefox_id":"","webkit_id":""},"font-smooth":{"title":"CSS font-smooth","description":"Controls the application of anti-aliasing when fonts are rendered.","spec":"http://www.w3.org/TR/WD-font/#font-smooth","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","title":"MDN article"},{"url":"http://www.w3.org/TR/WD-font/#font-smooth","title":"Old version of W3C recommendation containing font-smooth"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"a x #2 #3","26":"a x #2 #3","27":"a x #2 #3","28":"a x #2 #3","29":"a x #2 #3","30":"a x #2 #3","31":"a x #2 #3","32":"a x #2 #3","33":"a x #2 #3","34":"a x #2 #3","35":"a x #2 #3","36":"a x #2 #3","37":"a x #2 #3","38":"a x #2 #3","39":"a x #2 #3","40":"a x #2 #3","41":"a x #2 #3","42":"a x #2 #3","43":"a x #2 #3","44":"a x #2 #3","45":"a x #2 #3","46":"a x #2 #3","47":"a x #2 #3","48":"a x #2 #3","49":"a x #2 #3","50":"a x #2 #3","51":"a x #2 #3","52":"a x #2 #3","53":"a x #2 #3","54":"a x #2 #3","55":"a x #2 #3"},"chrome":{"4":"n","5":"a x #1 #3","6":"a x #1 #3","7":"a x #1 #3","8":"a x #1 #3","9":"a x #1 #3","10":"a x #1 #3","11":"a x #1 #3","12":"a x #1 #3","13":"a x #1 #3","14":"a x #1 #3","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1 #3","36":"a x #1 #3","37":"a x #1 #3","38":"a x #1 #3","39":"a x #1 #3","40":"a x #1 #3","41":"a x #1 #3","42":"a x #1 #3","43":"a x #1 #3","44":"a x #1 #3","45":"a x #1 #3","46":"a x #1 #3","47":"a x #1 #3","48":"a x #1 #3","49":"a x #1 #3","50":"a x #1 #3","51":"a x #1 #3","52":"a x #1 #3","53":"a x #1 #3","54":"a x #1 #3","55":"a x #1 #3","56":"a x #1 #3","57":"a x #1 #3","58":"a x #1 #3","59":"a x #1 #3"},"safari":{"3.1":"n","3.2":"n","4":"a x #1 #3","5":"a x #1 #3","5.1":"a x #1 #3","6":"a x #1 #3","6.1":"a x #1 #3","7":"a x #1 #3","7.1":"a x #1 #3","8":"a x #1 #3","9":"a x #1 #3","9.1":"a x #1 #3","10":"a x #1 #3","10.1":"a x #1 #3","TP":"a x #1 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1 #3","36":"a x #1 #3","37":"a x #1 #3","38":"a x #1 #3","39":"a x #1 #3","40":"a x #1 #3","41":"a x #1 #3","42":"a x #1 #3","43":"a x #1 #3","44":"a x #1 #3","45":"a x #1 #3"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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."},"usage_perc_y":0,"usage_perc_a":37.26,"ucprefix":false,"parent":"","keywords":"font smooth,font smoothing,-webkit-font-smoothing,-moz-osx-font-smoothing","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"audiotracks":{"title":"Audio Tracks","description":"Method of specifying and selecting between multiple audio tracks. Useful for providing audio descriptions, director's commentary, additional languages, alternative takes, etc.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist…","status":"ls","links":[{"url":"https://msdn.microsoft.com/en-US/library/hh772483%28v=vs.85%29.aspx","title":"MSDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Supported in Firefox by enabling \"media.track.enabled\" in about:config"},"usage_perc_y":17.96,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"AudioTrack,AudioTrackList,media,multiple,selection","ie_id":"audiotracks","chrome_id":"5748496434987008","firefox_id":"","webkit_id":""},"videotracks":{"title":"Video Tracks","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.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist…","status":"ls","links":[{"url":"https://msdn.microsoft.com/en-US/library/dn806262%28v=vs.85%29.aspx","title":"MSDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":13.69,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"VideoTrack,VideoTrackList,media,multiple,selection","ie_id":"videotracks","chrome_id":"5748496434987008","firefox_id":"","webkit_id":""},"contentsecuritypolicy2":{"title":"Content Security Policy Level 2","description":"Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources. CSP 2 adds hash-source, nonce-source, and five new directives","spec":"http://www.w3.org/TR/CSP/","status":"cr","links":[{"url":"http://html5rocks.com/en/tutorials/security/content-security-policy/","title":"HTML5Rocks article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #2","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #7","46":"a #7","47":"a #7","48":"a #7","49":"a #7","50":"a #7","51":"a #7","52":"a #7","53":"a #7","54":"a #7","55":"a #7"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"a #4","37":"a #4","38":"a #4","39":"a #5","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #4","24":"a #4","25":"a #4","26":"a #5","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #6"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Firefox 31-34 is missing the plugin-types, child-src, frame-ancestors, base-uri, and form-action directives.","2":"Firefox 35 is missing the plugin-types, child-src, frame-ancestors, and form-action directives.","3":"Firefox 36-44 is missing the plugin-types and child-src directives.","4":"Chrome 36-38 & Opera 23-25 are missing the plugin-types, child-src, frame-ancestors, base-uri, and form-action directives.","5":"Chrome 39 and Opera 26 are missing the plugin-types, child-src, base-uri, and form-action directives.","6":"Firefox 38 on Android is missing the child-src directive.","7":"Firefox 45+ is missing the plugin-types directive."},"usage_perc_y":67.45,"usage_perc_a":6.62,"ucprefix":false,"parent":"","keywords":"csp,header,nonce,hash","ie_id":"contentsecuritypolicylevel2","chrome_id":"4957003285790720","firefox_id":"","webkit_id":""},"permissions-api":{"title":"Permissions API","description":"High-level JavaScript API for checking and requesting permissions","spec":"https://w3c.github.io/permissions/","status":"unoff","links":[{"url":"http://updates.html5rocks.com/2015/04/permissions-api-for-the-web","title":"Permission API samples and examples"},{"url":"https://github.com/jimmywarting/browser-su","title":"Extended \"polyfill\" version of permission API"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":62.45,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web-permissions,navigator.permissions","ie_id":"","chrome_id":"6376494003650560","firefox_id":"permissions","webkit_id":""},"http2":{"title":"HTTP/2 protocol","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.","spec":"http://http2.github.io/http2-spec/index.html","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/HTTP/2","title":"Wikipedia"},{"url":"https://http2.akamai.com/demo","title":"Browser support test"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a #1 #2"},"edge":{"12":"y #2","13":"y #2","14":"y #2","15":"y #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y #2","37":"y #2","38":"y #2","39":"y #2","40":"y #2","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2 #4","52":"y #2 #4","53":"y #2 #4","54":"y #2 #4","55":"y #2 #4","56":"y #2 #4","57":"y #2 #4","58":"y #2 #4","59":"y #2 #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a #2 #3","9.1":"a #2 #3","10":"a #2 #3","10.1":"a #2 #3","TP":"a #2 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y #2","29":"y #2","30":"y #2","31":"y #2","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y #2","37":"y #2","38":"y #2 #4","39":"y #2 #4","40":"y #2 #4","41":"y #2 #4","42":"y #2 #4","43":"y #2 #4","44":"y #2 #4","45":"y #2 #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y #2","9.3":"y #2","10.0-10.2":"y #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y #2"},"and_chr":{"56":"y #2 #4"},"and_ff":{"51":"y #2"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y #2"},"and_qq":{"1.2":"y #2 #4"}},"notes":"See also support for [the SPDY protocol](http://caniuse.com/#feat=spdy), precursor of HTTP2.","notes_by_num":{"1":"Partial support in IE11 refers to being limited to Windows 10.","2":"Only supports HTTP2 over TLS (https)","3":"Partial support in Safari refers to being limited to OSX 10.11+","4":"Only supports HTTP2 if servers support protocol negotiation via ALPN"},"usage_perc_y":73.91,"usage_perc_a":5.65,"ucprefix":false,"parent":"","keywords":"","ie_id":"http2","chrome_id":"5152586365665280","firefox_id":"http2","webkit_id":""},"font-kerning":{"title":"CSS3 font-kerning","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.","spec":"http://www.w3.org/TR/css3-fonts/#font-kerning-prop","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-kerning","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y x","30":"y x","31":"y x","32":"y x","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"y x","17":"y x","18":"y x","19":"y x","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Browsers with support for [font feature settings](http://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."},"usage_perc_y":86.37,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"jpeg2000":{"title":"JPEG 2000 image format","description":"JPEG 2000 (JP2) was created by the Joint Photographic Experts Group committee in 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard (created in 1992) with a newly designed, wavelet-based method. It offers some advantages in image fidelity over standard JPEG.","spec":"http://www.itu.int/rec/T-REC-T.800-200208-I","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/JPEG_2000","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y #1","5.1":"y #1","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Not supported by Safari for Windows"},"usage_perc_y":12.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"jp2,jpeg2000,jpeg 2000","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"upgradeinsecurerequests":{"title":"Upgrade Insecure Requests","description":"Declare that browsers should transparently upgrade HTTP resources on a website to HTTPS.","spec":"http://www.w3.org/TR/upgrade-insecure-requests/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_direct…","title":"MDN article"},{"url":"https://googlechrome.github.io/samples/csp-upgrade-insecure-requests/index.…","title":"Demo Website"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=143653","title":"WebKit feature request bug"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":62.79,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"security,header,uir,upgrade-insecure-requests","ie_id":"upgradeinsecureresourcerequests","chrome_id":"6534575509471232","firefox_id":"","webkit_id":""},"publickeypinning":{"title":"Public Key Pinning","description":"Declare that a website's HTTPS certificate should only be treated as valid if the public key is contained in a specified list to prevent MITM attacks that use valid CA-issued certificates.","spec":"https://tools.ietf.org/html/rfc7469","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Security/Public_Key_Pinning","title":"MDN article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"u","21":"u","22":"u","23":"a","24":"u","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"The HTTP header syntax is 'Public-Key-Pins: pin-sha256=\"base64==\"; max-age=expireTime [; includeSubdomains][; report-uri=\"reportURI\"]'.","notes_by_num":{},"usage_perc_y":63.17,"usage_perc_a":0.01,"ucprefix":false,"parent":"","keywords":"pkp,hpkp,security,header","ie_id":"publickeypinningextensionforhttp","chrome_id":"","firefox_id":"","webkit_id":""},"input-email-tel-url":{"title":"Email, telephone & URL input types","description":"Text input fields intended for email addresses, telephone numbers or URLs. Particularly useful in combination with [form validation](http://caniuse.com/#feat=form-validation)","spec":"https://html.spec.whatwg.org/multipage/forms.html#telephone-state-(type=tel)","status":"ls","links":[{"url":"http://www.htmlgoodies.com/html5/tutorials/whats-new-in-html5-forms-email-u…","title":"Article on usage"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":94.25,"usage_perc_a":0.05,"ucprefix":false,"parent":"forms","keywords":"input[type=email],input[type=tel],input[type=url]","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"fieldset-disabled":{"title":"disabled attribute of the fieldset element","description":"Allows disabling all of the form control descendants of a fieldset via a `disabled` attribute on the fieldset element itself.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-fieldset-disabled","status":"ls","links":[{"url":"http://output.jsbin.com/bibiqi/1/edit","title":"JS Bin Testcase/Demo"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"u","6":"a #1 #2","7":"a #1 #2","8":"a #1","9":"a #1","10":"a #1 #2","11":"a #1 #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"u","17":"u","18":"u","19":"u","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1 #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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://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://connect.microsoft.com/IE/feedbackdetail/view/817488)"},"usage_perc_y":89.15,"usage_perc_a":8.16,"ucprefix":false,"parent":"","keywords":"HTMLFieldSetElement,fieldset,disabled","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"font-variant-alternates":{"title":"CSS font-variant-alternates","description":"Controls the usage of alternate glyphs associated to alternative names defined in @font-feature-values for certain types of OpenType fonts.","spec":"http://www.w3.org/TR/css-fonts-3/#propdef-font-variant-alternates","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-alternates","title":"Mozilla Developer Network"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n #1","11":"n #1"},"edge":{"12":"n #1","13":"n #1","14":"n #1","15":"n #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n #1","5":"n #1","6":"n #1","7":"n #1","8":"n #1","9":"n #1","10":"n #1","11":"n #1","12":"n #1","13":"n #1","14":"n #1","15":"n #1","16":"n #1","17":"n #1","18":"n #1","19":"n #1","20":"n #1","21":"n #1","22":"n #1","23":"n #1","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n #1","17":"n #1","18":"n #1","19":"n #1","20":"n #1","21":"n #1","22":"n #1","23":"n #1","24":"n #1","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"n #1","33":"n #1","34":"n #1","35":"n #1","36":"n #1","37":"n #1","38":"n #1","39":"n #1","40":"n #1","41":"n #1","42":"n #1","43":"n #1","44":"n #1","45":"n #1","46":"n #1","47":"n #1","48":"n #1","49":"n #1","50":"n #1","51":"n #1","52":"n #1","53":"n #1","54":"n #1","55":"n #1","56":"n #1","57":"n #1","58":"n #1","59":"n #1"},"safari":{"3.1":"n","3.2":"n","4":"n #1","5":"n #1","5.1":"n #1","6":"n #1","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n #1","16":"n #1","17":"n #1","18":"n #1","19":"n #1","20":"n #1","21":"n #1","22":"n #1","23":"n #1","24":"n #1","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"n #1","33":"n #1","34":"n #1","35":"n #1","36":"n #1","37":"n #1","38":"n #1","39":"n #1","40":"n #1","41":"n #1","42":"n #1","43":"n #1","44":"n #1","45":"n #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n #1","4.2-4.3":"n #1","5.0-5.1":"n #1","6.0-6.1":"n #1","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n #1","4.4.3-4.4.4":"n #1","53":"n #1"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n #1"},"and_chr":{"56":"n #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n #1"},"samsung":{"4":"n #1"},"and_qq":{"1.2":"n #1"}},"notes":"","notes_by_num":{"1":"Low-level syntax available in [font-feature-settings](http://caniuse.com/#feat=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"},"usage_perc_y":17.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"font-feature,font-feature-settings,font-variant","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"form-attribute":{"title":"Form attribute","description":"Attribute for associating input and submit buttons with a form.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-fae-form","status":"ls","links":[{"url":"http://www.w3.org/TR/html5/forms.html#attr-fae-form","title":"Input attribute specification"},{"url":"http://www.impressivewebs.com/html5-form-attribute/","title":"Article on usage"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":91.58,"usage_perc_a":0,"ucprefix":false,"parent":"forms","keywords":"form,attribute","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"es5":{"title":"ECMAScript 5","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.","spec":"http://www.ecma-international.org/ecma-262/5.1/","status":"other","links":[{"url":"http://kangax.github.io/compat-table/es5/","title":"Detailed compatibility tables & tests"},{"url":"http://ejohn.org/blog/ecmascript-5-objects-and-properties/","title":"Overview of objects & properties"},{"url":"https://github.com/es-shims/es5-shim","title":"ES5 polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n #4","9":"a #2","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a #1 #2 #3","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"As the specification includes many JavaScript features, un-numbered partial support varies widely and is shown in detail on the [ECMAScript 5 compatibilty tables](http://kangax.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"},"usage_perc_y":93,"usage_perc_a":4.94,"ucprefix":false,"parent":"","keywords":"es5,function.bind,array.foreach,array.indexof,array.map,date.now,defineproperties,getprototypeof,keys,seal,freeze,preventextensions,issealed,isfrozen,isextensible,getownpropertydescriptorgetownpropertynames,toisostringc,isarray,lastindexof,every,some,reduce,reduceright,getter,setter","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"page-transition-events":{"title":"PageTransitionEvent","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.","spec":"https://html.spec.whatwg.org/multipage/indices.html#event-pageshow","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/pageshow","title":"pageshow - Event reference | MDN"},{"url":"http://www.w3schools.com/tags/ev_onpageshow.asp","title":"HTML onpageshow Event Attribute"}],"categories":["HTML5","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"history,page,transition,hide,show,bfcache,event,persisted","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ogg-vorbis":{"title":"Ogg Vorbis audio format","description":"Vorbis is a free and open source audio format, most commonly used with the Ogg container.","spec":"http://www.xiph.org/vorbis/doc/Vorbis_I_spec.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Vorbis","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{},"usage_perc_y":76.13,"usage_perc_a":0,"ucprefix":false,"parent":"audio","keywords":".ogg,.oga,application/ogg,audio/ogg","ie_id":"vorbisaudiocodec,oggcontainer","chrome_id":"","firefox_id":"","webkit_id":""},"meter":{"title":"meter element","description":"Method of indicating the current level of a gauge.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-meter-element","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter","title":"Mozilla Developer Network article"},{"url":"http://html5doctor.com/measure-up-with-the-meter-tag/","title":"HTML5 Doctor on meter element"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://dev.opera.com/articles/new-form-features-in-html5/#newoutput","title":"Dev.Opera article"},{"url":"http://peter.sh/examples/?/html/meter-progress.html","title":"Examples of progress and meter elements"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":82.52,"usage_perc_a":0,"ucprefix":false,"parent":"forms","keywords":"<meter>","ie_id":"meterelement","chrome_id":"","firefox_id":"","webkit_id":""},"progress":{"title":"progress element","description":"Method of indicating a progress state.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-progress-element","status":"ls","links":[{"url":"http://css-tricks.com/html5-progress-element/","title":"CSS-Tricks article"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress","title":"Mozilla Developer Network article"},{"url":"https://dev.opera.com/articles/new-form-features-in-html5/#newoutput","title":"Dev.Opera article"},{"url":"http://peter.sh/examples/?/html/meter-progress.html","title":"Examples of progress and meter elements"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"iOS Safari does not support \"indeterminate\" <progress> elements."},"usage_perc_y":86.94,"usage_perc_a":9.76,"ucprefix":false,"parent":"forms","keywords":"#progressmeter,<progress>","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-filter-function":{"title":"CSS filter() function","description":"This function filters a CSS input image with a set of filter functions (like blur, grayscale or hue)","spec":"http://www.w3.org/TR/filter-effects/#FilterCSSImageValue","status":"wd","links":[{"url":"http://iamvdo.me/en/blog/advanced-css-filters#filter","title":"Blog post"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y x","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"filter, function","ie_id":"cssfilterimagefunction","chrome_id":"5425136400334848","firefox_id":"","webkit_id":""},"css-element-function":{"title":"CSS element() function","description":"This function renders a live image generated from an arbitrary HTML element","spec":"http://www.w3.org/TR/css4-images/#element-notation","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/element","title":"MDN page"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"a x #1","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y x"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"In Firefox < 4, usage limited to the background and background-image CSS properties"},"usage_perc_y":6.66,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"element, function","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"u2f":{"title":"FIDO U2F API","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. ","spec":"https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido…","status":"other","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1065729","title":"Mozilla bug"},{"url":"http://googleonlinesecurity.blogspot.com/2014/10/strengthening-2-step-verif…","title":"Google Security article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n #1","39":"n #1","40":"n #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"y","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the \"FIDO U2F (Universal 2nd Factor)\" Chrome extension"},"usage_perc_y":27.42,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"fido,u2f","ie_id":"fidou2f","chrome_id":"","firefox_id":"","webkit_id":""},"aac":{"title":"AAC audio file format","description":"Advanced Audio Coding format, designed to be the successor format to MP3, with generally better sound quality.","spec":"http://www.digitalpreservation.gov/formats/fdd/fdd000114.shtml","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Advanced_Audio_Coding","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"u","11":"u","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"y","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to using 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."},"usage_perc_y":87.25,"usage_perc_a":6.49,"ucprefix":false,"parent":"audio","keywords":"audio/aac","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-prefetch":{"title":"Resource Hints: prefetch","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)\">`","spec":"http://www.w3.org/TR/resource-hints/#dfn-prefetch","status":"wd","links":[{"url":"https://en.wikipedia.org/wiki/Link_prefetching","title":"Wikipedia article"},{"url":"https://medium.com/@luisvieira_gmr/html5-prefetch-1e54f6dda15d","title":"Article on prefetch and other hints"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":71.79,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ol-reversed":{"title":"Reversed attribute of ordered lists","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.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#attr-ol-reversed","status":"ls","links":[{"url":"http://html5doctor.com/ol-element-attributes/","title":"HTML5 Doctor article on <ol> element attributes (including reversed)"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"u","17":"u","18":"u","19":"u","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":90.49,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"reversed,list,ol,attribute","ie_id":"olreversedattribute","chrome_id":"","firefox_id":"","webkit_id":""},"css-first-letter":{"title":"::first-letter CSS pseudo-element selector","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.","spec":"http://www.w3.org/TR/css3-selectors/#first-letter","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter","title":"Mozilla Developer Network"}],"categories":["CSS"],"stats":{"ie":{"5.5":"u","6":"a #3 #4","7":"a #3 #4","8":"a #3","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #2","3":"a #1","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"u","6":"u","7":"u","8":"u","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"a #1","4":"a #1","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #2","10.5":"a #2","10.6":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":97.74,"usage_perc_a":0.55,"ucprefix":false,"parent":"","keywords":"first,letter,pseudo,element,class,selector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"wbr-element":{"title":"wbr (word break opportunity) element","description":"Represents an extra place where a line of text may optionally be broken.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#the-wbr-element","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr","title":"Mozilla Developer Network"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.48,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"wbr,element,word,break,opportunity","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"const":{"title":"const","description":"Declares a constant with block level scope","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarati…","status":"other","links":[{"url":"http://generatedcontent.org/post/54444832868/variables-and-constants-in-es6","title":"Variables and Constants in ES6"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statement…","title":"Const (MDN)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2 #3","40":"a #2 #3","41":"a #4","42":"a #4","43":"a #4","44":"a #4","45":"a #4","46":"a #4","47":"a #4","48":"a #4","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"a #2","3.2":"a #2","4":"a #2","5":"a #2","5.1":"a #2 #3","6":"a #2 #3","6.1":"a #2 #3","7":"a #2 #3","7.1":"a #2 #3","8":"a #2 #3","9":"a #2 #3","9.1":"a #2 #3","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1 #3","12":"a #1 #3","12.1":"a #1 #3","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #4","29":"a #4","30":"a #4","31":"a #4","32":"a #4","33":"a #4","34":"a #4","35":"a #4","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #2","4.0-4.1":"a #2","4.2-4.3":"a #2","5.0-5.1":"a #2 #3","6.0-6.1":"a #2 #3","7.0-7.1":"a #2 #3","8":"a #2 #3","8.1-8.4":"a #2 #3","9.0-9.2":"a #2 #3","9.3":"a #2 #3","10.0-10.2":"y"},"op_mini":{"all":"a #1 #3"},"android":{"2.1":"u","2.2":"u","2.3":"a #2","3":"a #2 #3","4":"a #2 #3","4.1":"a #2 #3","4.2-4.3":"a #2 #3","4.4":"a #2 #3","4.4.3-4.4.4":"a #2 #3","53":"y"},"bb":{"7":"a #2 #3","10":"a #2 #3"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1 #3","12.1":"a #1 #3","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"a #2 #3"},"samsung":{"4":"a #4"},"and_qq":{"1.2":"a #2 #3"}},"notes":"","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"},"usage_perc_y":73.84,"usage_perc_a":23.52,"ucprefix":false,"parent":"","keywords":"ES6,constant,block,scope","ie_id":"","chrome_id":"4645595339816960","firefox_id":"","webkit_id":""},"css-all":{"title":"CSS all property","description":"A shorthand property for resetting all CSS properties except for `direction` and `unicode-bidi`.","spec":"http://www.w3.org/TR/css-cascade-3/#all-shorthand","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/all","title":"Mozilla Developer Network"},{"url":"http://mcc.id.au/blog/2013/10/all-unset","title":"Resetting styles using `all: unset`"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=116966","title":"WebKit bug 116966: [css3-cascade] Add support for `all` shorthand property"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":75.02,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,all,property,shorthand,reset","ie_id":"cssallshorthand","chrome_id":"6178222542684160","firefox_id":"","webkit_id":""},"css-initial-value":{"title":"CSS initial value","description":"A CSS value that will apply a property's initial value as defined in the CSS specification that defines the property","spec":"http://www.w3.org/TR/css-values/#common-keywords","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/initial","title":"Mozilla Developer Network"},{"url":"https://css-tricks.com/getting-acquainted-with-initial/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":89.77,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,initial,value","ie_id":"cssinitialvalue","chrome_id":"","firefox_id":"","webkit_id":""},"css-letter-spacing":{"title":"letter-spacing CSS property","description":"Controls spacing between characters of text (i.e. \"tracking\" in typographical terms). Not to be confused with kerning.","spec":"http://www.w3.org/TR/CSS2/text.html#propdef-letter-spacing","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing","title":"Mozilla Developer Network"}],"categories":["CSS"],"stats":{"ie":{"5.5":"u","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"a #1","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Truncates or rounds fractional portions of values"},"usage_perc_y":93.29,"usage_perc_a":1.75,"ucprefix":false,"parent":"","keywords":"CSS,letter,spacing,tracking","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-unset-value":{"title":"CSS unset value","description":"A CSS value that's the same as \"inherit\" if a property is inherited or \"initial\" if a property is not inherited.","spec":"http://www.w3.org/TR/css-cascade-3/#inherit-initial","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/unset","title":"Mozilla Developer Network"},{"url":"http://mcc.id.au/blog/2013/10/all-unset","title":"Resetting styles using `all: unset`"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=148614","title":"WebKit bug 148614: Add support for the `unset` CSS property value"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":75.89,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,unset,value","ie_id":"cssunsetvalue","chrome_id":"","firefox_id":"","webkit_id":""},"insertadjacenthtml":{"title":"Element.insertAdjacentHTML()","description":"Inserts a string of HTML into a specified position in the DOM relative to the given element.","spec":"http://www.w3.org/TR/DOM-Parsing/#widl-Element-insertAdjacentHTML-void-DOMS…","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML","title":"Mozilla Developer Network"},{"url":"https://gist.github.com/eligrey/1276030","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"u","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Throws an \"Invalid target element for this operation.\" error [when called on a table, tbody, thead, or tr element.](http://ejohn.org/blog/dom-insertadjacenthtml/)"},"usage_perc_y":97.57,"usage_perc_a":0.67,"ucprefix":false,"parent":"","keywords":"element,insert,adjacent,HTML","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"let":{"title":"let","description":"Declares a variable with block level scope","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarati…","status":"other","links":[{"url":"http://generatedcontent.org/post/54444832868/variables-and-constants-in-es6","title":"Variables and Constants in ES6"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statement…","title":"Let (MDN)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n d #1","3":"n d #1","3.5":"n d #1","3.6":"n d #1","4":"n d #1","5":"n d #1","6":"n d #1","7":"n d #1","8":"n d #1","9":"n d #1","10":"n d #1","11":"n d #1","12":"n d #1","13":"n d #1","14":"n d #1","15":"n d #1","16":"n d #1","17":"n d #1","18":"n d #1","19":"n d #1","20":"n d #1","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n d #2","20":"n d #2","21":"n d #2","22":"n d #2","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n d #2","16":"n d #2","17":"n d #2","18":"n d #2","19":"n d #2","20":"n d #2","21":"n d #2","22":"n d #2","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"a #3"},"and_qq":{"1.2":"n"}},"notes":"","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 \u2018Experimental Javascript features\u2019 flag to be enabled","3":"Only supported in strict mode"},"usage_perc_y":73.57,"usage_perc_a":4.6,"ucprefix":false,"parent":"","keywords":"ES6,variable,block,scope","ie_id":"","chrome_id":"4645595339816960","firefox_id":"","webkit_id":""},"arrow-functions":{"title":"Arrow functions","description":"Function shorthand using `=>` syntax and lexical `this` binding.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-arrow-function-definiti…","status":"other","links":[{"url":"https://github.com/lukehoban/es6features#arrows","title":"ECMAScript 6 features: Arrows"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions…","title":"Arrow Functions (MDN)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":70.76,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,fat,arrow,function,lexical,this","ie_id":"arrowfunctiones6","chrome_id":"5047308127305728","firefox_id":"","webkit_id":"feature-arrow-functions"},"asmjs":{"title":"asm.js","description":"an extraordinarily optimizable, low-level subset of JavaScript, indended to be a compile target from languages like C++.","spec":"http://asmjs.org/spec/latest/","status":"other","links":[{"url":"http://asmjs.org/","title":"Homepage"},{"url":"https://github.com/dherman/asm.js/","title":"Source for spec and tools"},{"url":"http://blogs.windows.com/msedgedev/2015/05/07/bringing-asm-js-to-chakra-mic…","title":"Bringing Asm.js to Chakra and Microsoft Edge"},{"url":"https://dev.modern.ie/platform/changelog/10532-pc/","title":"Microsoft Edge support announcement"}],"categories":["JS API","Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n d #2","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a #1"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Chrome does not support Ahead-Of-Time compilation but performance doubled in Chrome 28: https://en.wikipedia.org/wiki/Asm.js#Implementations","2":"Supported in MS Edge under the \"Enable experimental Javascript features\" flag."},"usage_perc_y":8.13,"usage_perc_a":53.86,"ucprefix":false,"parent":"","keywords":"asm,asm.js,asmjs,WebAssembly","ie_id":"asmjs","chrome_id":"","firefox_id":"asmjs","webkit_id":"feature-asm.js"},"lazyload":{"title":"Resource Hints: Lazyload","description":"Gives a hint to the browser to lower the loading priority of a resource.","spec":"https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourcePriorities/Overvi…","status":"unoff","links":[{"url":"https://msdn.microsoft.com/en-us/library/dn369270(v=vs.85).aspx","title":"lazyload attribute | lazyload property"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":5.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-dns-prefetch":{"title":"Resource Hints: dns-prefetch","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=\"http://example-domain.com/\">`","spec":"http://www.w3.org/TR/resource-hints/#dns-prefetch","status":"wd","links":[{"url":"https://msdn.microsoft.com/en-us/library/dn265039(v=vs.85).aspx","title":"Prerender and prefetch support"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Controlling_DNS_prefetchi…","title":"Controlling DNS prefetching"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"u","8":"u","8.1-8.4":"u","9.0-9.2":"u","9.3":"u","10.0-10.2":"u"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"u"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"u","37":"u"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"u"},"samsung":{"4":"u"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"IE9 [supported `dns-prefetch` as `prefetch`](http://blogs.msdn.com/b/ieinternals/archive/2012/03/01/ie10-beta-consumer-preview-minor-changes-changelist.aspx) as the former wasn\u2019t defined yet."},"usage_perc_y":69.04,"usage_perc_a":0.24,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-prerender":{"title":"Resource Hints: prerender","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)\">`","spec":"http://www.w3.org/TR/resource-hints/#prerender","status":"wd","links":[{"url":"https://msdn.microsoft.com/en-us/library/dn265039(v=vs.85).aspx","title":"Prerender and prefetch support"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":63.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"rest-parameters":{"title":"Rest parameters","description":"Allows representation of an indefinite number of arguments as an array.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-function-definitions","status":"other","links":[{"url":"https://hacks.mozilla.org/2015/05/es6-in-depth-rest-parameters-and-defaults/","title":"Rest parameters and defaults"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n d #1","45":"n d #1","46":"n d #1","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n d #1","32":"n d #1","33":"n d #1","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the \"Experimental Javascript features\" flag to be enabled"},"usage_perc_y":70.44,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript","ie_id":"restparameterses6","chrome_id":"5937087912083456","firefox_id":"","webkit_id":""},"css-cross-fade":{"title":"CSS Cross-Fade Function","description":"Image function to create a \"crossfade\" between images. This allows one image to transition (fade) into another based on a percentage value.","spec":"https://drafts.csswg.org/css-images-3/#cross-fade-function","status":"unoff","links":[{"url":"http://peter.sh/files/examples/cross-fading.html","title":"Simple demo"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{},"usage_perc_y":71.44,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"css,image,crossfade","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-writing-mode":{"title":"CSS writing-mode property","description":"Property to define whether lines of text are laid out horizontally or vertically and the direction in which blocks progress.","spec":"https://drafts.csswg.org/css-writing-modes-3/#block-flow","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode","title":"MDN article"},{"url":"https://www.chromestatus.com/feature/5707470202732544","title":"Chrome Platform Status"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"u","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x","11":"a x"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{"1":"Internet Explorer supports different values from an [earlier version of the spec](http://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"},"usage_perc_y":89.31,"usage_perc_a":4.95,"ucprefix":false,"parent":"","keywords":"css,writing,direction,i18n,vertical,ltr,rtl","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"customevent":{"title":"CustomEvent","description":"A DOM event interface that can carry custom application-defined data.","spec":"https://dom.spec.whatwg.org/#interface-customevent","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent","title":"Mozilla Developer Network"},{"url":"https://github.com/krambuhl/custom-event-polyfill","title":"Polyfill based on the MDN snippet"},{"url":"https://github.com/jonathantneal/EventListener","title":"EventListener polyfill which includes a CustomEvent polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"u","6":"u","7":"u","8":"u","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2","12":"a #1 #2","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a #1 #2","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"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","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1 #2","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2","10":"y"},"op_mob":{"10":"n","11":"a #1","11.1":"a #1","11.5":"a #1","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":92.3,"usage_perc_a":5.42,"ucprefix":false,"parent":"","keywords":"custom events,custom,event","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"textcontent":{"title":"Node.textContent","description":"DOM Node property representing the text content of a node and its descendants","spec":"https://dom.spec.whatwg.org/#dom-node-textcontent","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"`Node.textContent` is somewhat similar to, but has important differences from, [`Node.innerText`](http://caniuse.com/#feat=innertext).","notes_by_num":{},"usage_perc_y":97.93,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"addeventlistener":{"title":"EventTarget.addEventListener()","description":"The modern standard API for adding DOM event handlers. Introduced in the DOM Level 2 Events spec. Also implies support for 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.","spec":"https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListen…","title":"Mozilla Developer Network"},{"url":"https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/E…","title":"Financial Times IE8 polyfill"},{"url":"https://github.com/WebReflection/ie8","title":"WebReflection ie8 polyfill"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n #1","6":"n #1","7":"n #1","8":"n #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y #2","3":"y #2","3.5":"y #2","3.6":"y #2","4":"y #2","5":"y #2","6":"y #2","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"IE<=8 instead only supports the [proprietary `.attachEvent()` method](https://msdn.microsoft.com/en-us/library/ms536343%28VS.85%29.aspx). It also does not support the [capture phase](http://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`."},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"event,target,add,remove,listener,capture,capturing,phase","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"dispatchevent":{"title":"EventTarget.dispatchEvent","description":"Method to programmatically trigger a DOM event.","spec":"https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent","title":"Mozilla Developer Network"},{"url":"https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/E…","title":"Financial Times IE8 polyfill"},{"url":"https://github.com/WebReflection/ie8","title":"WebReflection ie8 polyfill"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"n #1","7":"n #1","8":"n #1","9":"y #1","10":"y #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supports Microsoft's proprietary [`EventTarget.fireEvent() method`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/fireE…."},"usage_perc_y":97.93,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"dispatch,event,target,fire,trigger,dom","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"documenthead":{"title":"document.head","description":"Convenience property for accessing the `<head>` element","spec":"https://html.spec.whatwg.org/multipage/#dom-document-head","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Document/head","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.77,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"document,head","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"innertext":{"title":"Node.innerText","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.","spec":"https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText","title":"Mozilla Developer Network"},{"url":"https://github.com/whatwg/compat/issues/5","title":"WHATWG Compatibility Standard issue #5: spec innerText"},{"url":"https://github.com/timdown/rangy","title":"Rangy, a JS range and selection library which contains an innerText implementation"},{"url":"http://discourse.wicg.io/t/standardizing-innertext/799","title":"Standardizing innerText \u2013 Web Incubator Community Group (WICG) discussion"},{"url":"https://msdn.microsoft.com/library/ms533899(v=vs.85).aspx","title":"MSDN documentation"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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`Node.innerText` is similar to, but has some important differences from, the standard [`Node.textContent`](http://caniuse.com/#feat=textcontent) property.","notes_by_num":{},"usage_perc_y":97.6,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"inner,text,content","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"client-hints-dpr-width-viewport":{"title":"Client Hints: DPR, Width, Viewport-Width","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.","spec":"https://tools.ietf.org/html/draft-grigorik-http-client-hints","status":"other","links":[{"url":"https://developers.google.com/web/updates/2015/09/automating-resource-selec…","title":"Automating resource selection with Client Hints"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=935216","title":"Mozilla Bug 935216 - Implement Client-Hints HTTP header"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=145380","title":"WebKit Bug 145380 - Add Content-DPR header support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":52.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"client hints, client-hints, dpr, viewport, content-dpr","ie_id":"httpclienthints","chrome_id":"5504430086553600","firefox_id":"","webkit_id":""},"link-rel-preconnect":{"title":"Resource Hints: preconnect","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/\">`","spec":"http://www.w3.org/TR/resource-hints/#preconnect","status":"wd","links":[{"url":"https://www.igvita.com/2015/08/17/eliminating-roundtrips-with-preconnect/","title":"Eliminating Roundtrips with Preconnect"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y #1","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"u"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"u"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":58.62,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"preconnect, resource hints","ie_id":"preconnectresourcehints","chrome_id":"5560623895150592","firefox_id":"","webkit_id":""},"netinfo":{"title":"Network Information API","description":"The Network Information API enables web applications to access information about the network connection in use by the device.","spec":"http://w3c.github.io/netinfo/","status":"unoff","links":[{"url":"https://www.igvita.com/2014/12/15/capability-reporting-with-service-worker/","title":"(NetInfo) Capability reporting with ServiceWorker"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"n"}},"notes":"In Chrome the API is enabled on Android only, support for other platforms [is coming](https://docs.google.com/a/chromium.org/document/d/1LTk9uVMGi4kurzcF… . Support is also available on [Firefox OS](https://bugzilla.mozilla.org/show_bug.cgi?id=960426).","notes_by_num":{"1":"Supports only the `navigator.connection.type` value which doesn't match the latest spec. [see details](http://davidbcalhoun.com/2010/using-navigator-connection-android/)"},"usage_perc_y":25.69,"usage_perc_a":4.26,"ucprefix":false,"parent":"","keywords":"performance,network,network information,netinfo","ie_id":"","chrome_id":"6338383617982464","firefox_id":"","webkit_id":""},"setimmediate":{"title":"Efficient Script Yielding: setImmediate()","description":"Yields control flow without the minimum delays enforced by setTimeout","spec":"http://w3c.github.io/setImmediate/","status":"unoff","links":[{"url":"http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/","title":"The case for setImmediate()"},{"url":"http://www.nczonline.net/blog/2011/09/19/script-yielding-with-setimmediate/","title":"Script yielding with setImmediate"},{"url":"https://github.com/YuzuJS/setImmediate","title":"setImmediate polyfill"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=686201","title":"Firefox tracking bug"},{"url":"https://code.google.com/p/chromium/issues/detail?id=146172","title":"Chrome bug closed as WONTFIX"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":5.96,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"setImmediate,clearImmediate,setTimeout,performance","ie_id":"efficientscriptyieldingsetimmediate","chrome_id":"","firefox_id":"","webkit_id":""},"es6-number":{"title":"ES6 Number","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`.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-number-objects","status":"other","links":[{"url":"http://www.2ality.com/2015/04/numbers-math-es6.html","title":"New number and Math features in ES6"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #3","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"a #4","20":"a #4","21":"a #4","22":"a #4","23":"a #4","24":"a #4","25":"a #4","26":"a #4","27":"a #4","28":"a #4","29":"a #4","30":"a #4","31":"a #4","32":"a #4","33":"a #4","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a #4","16":"a #4","17":"a #4","18":"a #4","19":"a #4","20":"a #4","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"a #4","4.2-4.3":"a #4","4.4":"a #4","4.4.3-4.4.4":"a #4","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #4"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":76.45,"usage_perc_a":12.23,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,number,built-in,EPSILON,MIN_SAFE_INTEGER,MAX_SAFE_INTEGER,isFinite,isInteger,isSafeInteger,isNaN","ie_id":"numberbuiltinses6","chrome_id":"","firefox_id":"","webkit_id":""},"maxlength":{"title":"maxlength attribute for input and textarea elements","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-maxlength","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-maxlen…","title":"Mozilla Developer Network"}],"categories":["DOM","HTML5","JS API"],"stats":{"ie":{"5.5":"u","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"y","11":"y"},"edge":{"12":"y #4","13":"y #4","14":"y #4","15":"y #4"},"firefox":{"2":"a #1 #2 #3","3":"a #1 #2 #3","3.5":"a #1 #2 #3","3.6":"a #1 #2 #3","4":"y #4","5":"y #4","6":"y #4","7":"y #4","8":"y #4","9":"y #4","10":"y #4","11":"y #4","12":"y #4","13":"y #4","14":"y #4","15":"y #4","16":"y #4","17":"y #4","18":"y #4","19":"y #4","20":"y #4","21":"y #4","22":"y #4","23":"y #4","24":"y #4","25":"y #4","26":"y #4","27":"y #4","28":"y #4","29":"y #4","30":"y #4","31":"y #4","32":"y #4","33":"y #4","34":"y #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"a #1 #2 #3","4":"a #1 #2 #3","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"a #5","8.1-8.4":"a #5","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"a #6"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #6"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4….","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."},"usage_perc_y":84.55,"usage_perc_a":13.77,"ucprefix":false,"parent":"form-validation","keywords":"maximum,length,input,textarea,too,long,validity,state","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"proxy":{"title":"Proxy object","description":"The Proxy object allows custom behaviour to be defined for fundamental operations. Useful for logging, profiling, object virtualisation, etc.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-proxy-object-internal-m…","status":"other","links":[{"url":"https://github.com/lukehoban/es6features#proxies","title":"ECMAScript 6 Proxies"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Ob…","title":"MDN Proxy"},{"url":"http://www.nczonline.net/blog/2011/09/15/experimenting-with-ecmascript-6-pr…","title":"Experimenting with ECMAScript 6 proxies"},{"url":"http://www.2ality.com/2014/12/es6-proxies.html","title":"Meta programming with ECMAScript 6 proxies"},{"url":"https://github.com/tvcutsem/harmony-reflect","title":"Polyfill for Proxies"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n d","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n d","26":"n d","27":"n d","28":"n d","29":"n d","30":"n d","31":"n d","32":"n d","33":"n d","34":"n d","35":"n d","36":"n d","37":"n d","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n d","16":"n d","17":"n d","18":"n d","19":"n d","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":70.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"proxies,es6,es2015,traps,meta,virtual,logging,host","ie_id":"proxieses6","chrome_id":"4811188005240832","firefox_id":"","webkit_id":"feature-proxy-objects"},"keyboardevent-which":{"title":"KeyboardEvent.which","description":"A legacy `KeyboardEvent` property that is equivalent to either `KeyboardEvent.keyCode` or `KeyboardEvent.charCode` depending on whether the key is alphanumeric.","spec":"https://w3c.github.io/uievents/#widl-KeyboardEvent-which","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"This property is legacy and deprecated, but its replacement(s) are not yet widely supported.","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?). "},"usage_perc_y":63.62,"usage_perc_a":27.38,"ucprefix":false,"parent":"","keywords":"keyboard,event,which","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-charcode":{"title":"KeyboardEvent.charCode","description":"A legacy `KeyboardEvent` property that gives the Unicode codepoint number of a character key pressed during a `keypress` event.","spec":"https://w3c.github.io/uievents/#widl-KeyboardEvent-charCode","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/charCode","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"n #1"},"and_chr":{"56":"y"},"and_ff":{"51":"n #1"},"ie_mob":{"10":"n #1","11":"n #1"},"and_uc":{"11":"n #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"This property is legacy and deprecated, but its replacement(s) are not yet widely supported.","notes_by_num":{"1":"Does not appear to support the `keypress` event at all"},"usage_perc_y":84.78,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"keyboard,event,key,char,character,code,charCode","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-code":{"title":"KeyboardEvent.code","description":"A `KeyboardEvent` property representing the physical key that was pressed, ignoring the keyboard layout and ignoring whether any modifier keys were active.","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-code","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code","title":"Mozilla Developer Network"},{"url":"https://code.google.com/p/chromium/issues/detail?id=227231","title":"Chrome tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=149584","title":"WebKit feature request bug"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled in Chrome & Opera through the \"experimental Web Platform features\" flag"},"usage_perc_y":32.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"keyboard,event,code","ie_id":"uieventskeyboardqueryapis","chrome_id":"5228092293382144","firefox_id":"","webkit_id":""},"keyboardevent-location":{"title":"KeyboardEvent.location","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).","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-location","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/location","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"a #1","5":"a #1","5.1":"a #1","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Only supports `KeyboardEvent.keyLocation` from an older draft of the DOM Level 3 Events spec instead."},"usage_perc_y":83.68,"usage_perc_a":10.7,"ucprefix":false,"parent":"","keywords":"keyboard,event,key,location,keyLocation,numpad","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-getmodifierstate":{"title":"KeyboardEvent.getModifierState()","description":"`KeyboardEvent` method that returns the state (whether the key is pressed/locked or not) of the given modifier key.","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-getModifierState","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierS…","title":"Mozilla Developer Network"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=40999","title":"WebKit feature request bug"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":71.93,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"keyboard,event,get,modifier,state","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-key":{"title":"KeyboardEvent.key","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.","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-key","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key","title":"Mozilla Developer Network"},{"url":"https://code.google.com/p/chromium/issues/detail?id=227231","title":"Chrome tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=69029","title":"WebKit feature request bug"},{"url":"http://www.w3.org/TR/DOM-Level-3-Events-key/","title":"Spec listing all key string values"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to these versions of Firefox returning `\"MozPrintableKey\"` for all character keys."},"usage_perc_y":63.25,"usage_perc_a":0.1,"ucprefix":false,"parent":"","keywords":"keyboard,event,key","ie_id":"","chrome_id":"4748790720364544","firefox_id":"","webkit_id":""},"brotli":{"title":"Brotli Accept-Encoding/Content-Encoding","description":"More effective lossless compression algorithm than gzip and deflate.","spec":"https://tools.ietf.org/html/rfc7932","status":"other","links":[{"url":"http://google-opensource.blogspot.com/2015/09/introducing-brotli-new-compre…","title":"Introducing Brotli"},{"url":"https://groups.google.com/a/chromium.org/forum/m/#!msg/blink-dev/JufzX024oy…","title":"Blink's intent to ship"},{"url":"https://github.com/google/brotli","title":"Official code repository"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=154859","title":"WebKit Bug 154859: Add support for format brotli for HTTP compression"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n d #1","50":"y #2","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1","37":"n d #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Chrome and Opera behind the 'Brotli Content-Encoding' flag","2":"Enabled since 27 May 2016"},"usage_perc_y":56.75,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"http,compression,accept,content,encoding","ie_id":"brotlicompresseddataformat","chrome_id":"5420797577396224","firefox_id":"","webkit_id":""},"element-closest":{"title":"Element.closest()","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.","spec":"https://dom.spec.whatwg.org/#dom-element-closest","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/closest","title":"Mozilla Developer Network"},{"url":"https://github.com/jonathantneal/closest","title":"Polyfill"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":70.76,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"element,closest,dom","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-element.closest()"},"input-event":{"title":"input event","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#event-input-input","status":"ls","links":[{"url":"https://html.spec.whatwg.org/multipage/forms.html#send-select-update-notifi…","title":"Specification for `<select>` elements firing the `input` event"},{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/input","title":"Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1 #3 #5","10":"y #3 #5","11":"y #3 #5"},"edge":{"12":"y #3 #5","13":"y #3 #5","14":"y #3 #5","15":"y #3 #5"},"firefox":{"2":"u","3":"a #2 #3 #4","3.5":"a #2 #3 #4","3.6":"y #3 #4","4":"y #3 #4","5":"y #3 #4","6":"y #3 #4","7":"y #3 #4","8":"y #3 #4","9":"y #3 #4","10":"y #3 #4","11":"y #3 #4","12":"y #3 #4","13":"y #3 #4","14":"y #3 #4","15":"y #3 #4","16":"y #3 #4","17":"y #3 #4","18":"y #3 #4","19":"y #3 #4","20":"y #3 #4","21":"y #3 #4","22":"y #3 #4","23":"y #3 #4","24":"y #3 #4","25":"y #3 #4","26":"y #3 #4","27":"y #3 #4","28":"y #3 #4","29":"y #3 #4","30":"y #3 #4","31":"y #3 #4","32":"y #3 #4","33":"y #3 #4","34":"y #3 #4","35":"y #3 #4","36":"y #3 #4","37":"y #3 #4","38":"y #3 #4","39":"y #3 #4","40":"y #3 #4","41":"y #3 #4","42":"y #3 #4","43":"y #3 #4","44":"y #3 #4","45":"y #3 #4","46":"y #3 #4","47":"y #3 #4","48":"y #3 #4","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y #3 #4","16":"y #3 #4","17":"y #3 #4","18":"y #3 #4","19":"y #3 #4","20":"y #3 #4","21":"y #3 #4","22":"y #3 #4","23":"y #3 #4","24":"y #3 #4","25":"y #3 #4","26":"y #3 #4","27":"y #3 #4","28":"y #3 #4","29":"y #3 #4","30":"y #3 #4","31":"y #3 #4","32":"y #3 #4","33":"y #3 #4","34":"y #3 #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y #4","52":"y #4","53":"y #4","54":"y #4","55":"y #4","56":"y #4","57":"y #4","58":"y #4","59":"y #4"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y #3 #4","6":"u","6.1":"y #4","7":"y #4","7.1":"y #4","8":"y #4","9":"y #4","9.1":"y #4","10":"y #4","10.1":"y #4","TP":"y #4"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a #2","12":"u","12.1":"y","15":"y #3 #4","16":"y #3 #4","17":"y #3 #4","18":"y #3 #4","19":"y #3 #4","20":"y #3 #4","21":"y #3 #4","22":"y #4","23":"y #4","24":"y #4","25":"y #4","26":"y #4","27":"y #4","28":"y #4","29":"y #4","30":"y #4","31":"y #4","32":"y #4","33":"y #4","34":"y #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y #3 #4","6.0-6.1":"y #3 #4","7.0-7.1":"y #3 #4","8":"y #4","8.1-8.4":"y #4","9.0-9.2":"y #4","9.3":"y #4","10.0-10.2":"y #4"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y #3 #4","3":"y #3 #4","4":"y #3 #4","4.1":"y #3 #4","4.2-4.3":"y #3 #4","4.4":"y #3 #4","4.4.3-4.4.4":"y #4","53":"y #4"},"bb":{"7":"y #3 #4","10":"y #4"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y #4"},"and_chr":{"56":"y #4"},"and_ff":{"51":"y #3 #4"},"ie_mob":{"10":"y #3 #5","11":"y #3 #5"},"and_uc":{"11":"y #3 #4"},"samsung":{"4":"y #4"},"and_qq":{"1.2":"y #4"}},"notes":"","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://connect.microsoft.com/IE/feedback/details/1816207) 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](https://bugs.webkit.org/show_bug.cgi?id=149398), 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://connect.microsoft.com/IE/feedback/details/1883692)."},"usage_perc_y":94.13,"usage_perc_a":0.28,"ucprefix":false,"parent":"","keywords":"oninput","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-search":{"title":"Search input type","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\">`.","spec":"https://html.spec.whatwg.org/multipage/forms.html#text-(type=text)-state-an…","status":"ls","links":[{"url":"https://css-tricks.com/webkit-html5-search-inputs/","title":"CSS-Tricks article"},{"url":"http://www.wufoo.com/html5/types/5-search.html","title":"Wufoo's The Current State of HTML5 Forms: The search Type"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"u","22":"u","23":"u","24":"u","25":"u","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y #1"},"android":{"2.1":"u","2.2":"u","2.3":"y #1","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y #1"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y #1","37":"y #1"},"and_chr":{"56":"y"},"and_ff":{"51":"y #1"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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\">`."},"usage_perc_y":97.3,"usage_perc_a":0,"ucprefix":false,"parent":"forms","keywords":"input,type,search","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-motion-paths":{"title":"CSS Motion Path","description":"Allows elements to be animated along SVG paths or shapes","spec":"https://drafts.fxtf.org/motion-1/","status":"unoff","links":[{"url":"http://codepen.io/danwilson/post/css-motion-paths","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/motion-path","title":"MDN article"},{"url":"https://googlechrome.github.io/samples/css-motion-path/index.html","title":"Demo"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1186329","title":"Firefox tracking bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #1","44":"n d #1","45":"n d #1","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #1","31":"n d #1","32":"n d #1","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the \"Experimental Web Platform features\" flag to be enabled"},"usage_perc_y":52.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"cssmotionpath","chrome_id":"6190642178818048","firefox_id":"","webkit_id":""},"css-scroll-behavior":{"title":"CSSOM Scroll-behavior","description":"Method of specifying the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs.","spec":"https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior","title":"Mozilla Developer Network"},{"url":"https://code.google.com/p/chromium/issues/detail?id=243871","title":"Chrome launch bug "},{"url":"https://blog.gospodarets.com/native_smooth_scrolling","title":"Blog post with demo"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n d #1 #2","42":"n d #1 #2","43":"n d #1 #2","44":"n d #1 #2","45":"n d #1 #2","46":"n d #1 #2","47":"n d #1 #2","48":"n d #1 #2","49":"n d #1 #2","50":"n d #1 #2","51":"n d #1 #2","52":"n d #1 #2","53":"n d #1 #2","54":"n d #1 #2","55":"n d #1 #2","56":"n d #1 #2","57":"n d #1 #2","58":"n d #1 #2","59":"n d #1 #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n d #1 #2","29":"n d #1 #2","30":"n d #1 #2","31":"n d #1 #2","32":"n d #1 #2","33":"n d #1 #2","34":"n d #1 #2","35":"n d #1 #2","36":"n d #1 #2","37":"n d #1 #2","38":"n d #1 #2","39":"n d #1 #2","40":"n d #1 #2","41":"n d #1 #2","42":"n d #1 #2","43":"n d #1 #2","44":"n d #1 #2","45":"n d #1 #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1 #2"}},"notes":"","notes_by_num":{"1":"Partial support refers to support everything except of `Element.scrollIntoView()` and not together with pinch viewport.","2":"Supported in Chrome and Opera behind the 'Smooth Scrolling' and/or 'Enable experimental web platform features' flag"},"usage_perc_y":6.25,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"smooth,scroll,cssom,scroll-behavior","ie_id":"cssomviewsmoothscrollapi","chrome_id":"5812155903377408","firefox_id":"","webkit_id":""},"subresource-integrity":{"title":"Subresource Integrity","description":"Subresource Integrity enables browsers to verify that file is delivered without unexpected manipulation.","spec":"http://www.w3.org/TR/SRI/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity","title":"Subresource Integrity (MDN)"},{"url":"https://www.srihash.org/","title":"SRI generation and browser support test"},{"url":"https://sritest.io","title":"SRI hash webpage scanner"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=148363","title":"WebKit feature request bug"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":58.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"SRI, security, hash","ie_id":"subresourceintegrity","chrome_id":"6183089948590080","firefox_id":"subresource-integrity","webkit_id":"feature-subresource-integrity"},"custom-elementsv1":{"title":"Custom Elements v1","description":"Method of defining new HTML tags.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#custom-elements","status":"ls","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=889230","title":"Firefox tracking bug: Implement Custom Elements (from Web Components)"},{"url":"http://status.modern.ie/customelements","title":"IE Web Platform Status and Roadmap: Custom Elements"},{"url":"https://developers.google.com/web/fundamentals/primers/customelements/","title":"Google Developers - Custom elements v1: reusable web components"},{"url":"https://github.com/webcomponents/webcomponentsjs/tree/v1/src/CustomElements…","title":"customElements.define polyfill"},{"url":"https://webkit.org/blog/7027/introducing-custom-elements/","title":"WebKit Blog: Introducing Custom Elements"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"p","53":"p","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"p","9":"p","9.1":"p","10":"p","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"p"}},"notes":"Chrome 36+/Opera 20+ implemented a previous version of Custom Elements (v0) that used `.registerElement()`. Other browsers are implementing v1, `window.customElements.define()`.","notes_by_num":{"1":"Supports \"Autonomous custom elements\" but not \"Customized built-in elements\""},"usage_perc_y":26.1,"usage_perc_a":23.73,"ucprefix":false,"parent":"","keywords":"web components,custom elements","ie_id":"customelements","chrome_id":"4696261944934400","firefox_id":"custom-elements","webkit_id":"feature-custom-elements"},"css-in-out-of-range":{"title":":in-range and :out-of-range CSS pseudo-classes","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.","spec":"http://www.w3.org/TR/selectors4/#range-pseudos","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range","title":"MDN article"},{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-in-range","title":"WHATWG HTML specification for `:in-range` and `:out-of-range`"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"a #3","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2 #3","40":"a #2 #3","41":"a #2 #3","42":"a #2 #3","43":"a #2 #3","44":"a #2 #3","45":"a #2 #3","46":"a #2 #3","47":"a #2 #3","48":"a #2 #3","49":"a #2 #3","50":"a #2 #3","51":"a #2 #3","52":"a #2","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a #2 #3","6":"a #2 #3","6.1":"a #2 #3","7":"a #2 #3","7.1":"a #2 #3","8":"a #2 #3","9":"a #2 #3","9.1":"a #2 #3","10":"a #2 #3","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #2","10.5":"a #2","10.6":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2 #3","6.0-6.1":"a #2 #3","7.0-7.1":"a #2 #3","8":"a #2 #3","8.1-8.4":"a #2 #3","9.0-9.2":"a #2 #3","9.3":"a #2 #3","10.0-10.2":"a #2 #3"},"op_mini":{"all":"a #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #2","4.1":"a #2","4.2-4.3":"a #2","4.4":"a #2","4.4.3-4.4.4":"a #2","53":"y"},"bb":{"7":"n","10":"a #2"},"op_mob":{"10":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"a #2"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #2"},"samsung":{"4":"a #2"},"and_qq":{"1.2":"y"}},"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://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7…, [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://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7…, [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)."},"usage_perc_y":55.23,"usage_perc_a":37.61,"ucprefix":false,"parent":"","keywords":"in,out,of,range,:in-range,:out-of-range","ie_id":"cssrangepseudoclasses","chrome_id":"","firefox_id":"","webkit_id":""},"push-api":{"title":"Push API","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.","spec":"https://w3c.github.io/push-api/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Push_API","title":"MDN article"},{"url":"https://developers.google.com/web/updates/2015/03/push-notifications-on-the…","title":"Google Developers article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"a #1 #2","45":"a #1 #2","46":"a #1 #2","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2","56":"y #2","57":"y #2","58":"y #2","59":"y #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"u","38":"u","39":"u","40":"u","41":"u","42":"y #2","43":"y #2","44":"y #2","45":"y #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to not supporting `PushEvent.data` and `PushMessageData`","2":"Requires full browser to be running to receive messages"},"usage_perc_y":60.28,"usage_perc_a":2.05,"ucprefix":false,"parent":"","keywords":"push notifications","ie_id":"pushapi","chrome_id":"5416033485586432","firefox_id":"push","webkit_id":""},"flac":{"title":"FLAC audio format","description":"Popular lossless audio compression format","spec":"https://xiph.org/flac/format.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/FLAC","title":"Wikipedia"},{"url":"http://crbug.com/93887","title":"Chrome support bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge UserVoice request"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"u","45":"u","46":"u","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"a #1 #2","51":"a #1 #2","52":"a #1 #2","53":"a #1 #2","54":"a #1 #2","55":"a #1 #2","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"y #1"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"y","37":"y #1"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y #1"},"and_qq":{"1.2":"n"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{"1":"HTMLMediaElement.canPlayType('audio/flac') returns an empty string","2":"Only works on ChromeOS"},"usage_perc_y":61.06,"usage_perc_a":8.82,"ucprefix":false,"parent":"audio","keywords":"flac,lossless,audio","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"background-position-x-y":{"title":"background-position-x & background-position-y","description":"CSS longhand properties to define x or y positions separately.","spec":"https://drafts.csswg.org/css-backgrounds-4/#background-position-longhands","status":"unoff","links":[{"url":"https://msdn.microsoft.com/en-us/library/ms530719%28v=vs.85%29.aspx","title":"MSDN article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=550426","title":"Firefox implementation bug"},{"url":"http://snook.ca/archives/html_and_css/background-position-x-y","title":"Blog post on background-position-x & y properties"}],"categories":["CSS"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"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_varia…. See [this Stack Overflow answer](http://stackoverflow.com/a/29282573/94197) for an example.","notes_by_num":{},"usage_perc_y":93.5,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-revert-value":{"title":"CSS revert value","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`.","spec":"https://www.w3.org/TR/css-cascade-4/#valdef-all-revert","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/revert","title":"Mozilla Developer Network"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1215878","title":"Firefox feature request bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://code.google.com/p/chromium/issues/detail?id=579788","title":"Chrome feature request issue"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.1,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,reset,value","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-widows-orphans":{"title":"CSS widows & orphans","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.","spec":"https://drafts.csswg.org/css-break-3/#widows-orphans","status":"rec","links":[{"url":"http://thenewcode.com/946/CSS-last-line-Controlling-Widows-amp-Orphans","title":"CSS last-line: Controlling Widows & Orphans"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=137367","title":"Firefox support bug"},{"url":"http://tympanus.net/codrops/css_reference/orphans/","title":"codrops article on orphans"},{"url":"http://tympanus.net/codrops/css_reference/widows/","title":"codrops article on widows"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y #1","9":"y #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y #1","9.5-9.6":"y #1","10.0-10.1":"y #1","10.5":"y #1","10.6":"y #1","11":"y #1","11.1":"y #1","11.5":"y #1","11.6":"y #1","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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)"},"usage_perc_y":81.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"web-bluetooth":{"title":"Web Bluetooth","description":"Allows web sites to communicate over GATT with nearby user-selected Bluetooth devices in a secure and privacy-preserving way.","spec":"http://webbluetoothcg.github.io/web-bluetooth/","status":"unoff","links":[{"url":"https://developers.google.com/web/updates/2015/07/interact-with-ble-devices…","title":"Intro"},{"url":"https://googlechrome.github.io/samples/web-bluetooth/","title":"Samples"},{"url":"https://github.com/WebBluetoothCG/demos","title":"Demos"},{"url":"https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementatio…","title":"Implementation Status"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1 #3","54":"n d #1 #3","55":"n d #1 #3","56":"y #4","57":"y #4","58":"y #4","59":"y #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1 #2","37":"n d #1 #2","38":"n d #1 #2","39":"n d #1 #2","40":"n d #1 #3","41":"n d #1 #3","42":"n d #1 #3","43":"y #4","44":"y #4","45":"y #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y #4"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1 #3"}},"notes":"","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/gh-pages/implement…","2":"Only in Opera Mobile","3":"Available in [Origin Trials](https://developers.google.com/web/updates/2015/07/interact-with-ble… for Chrome OS, Android M, and Mac","4":"Currently support [varies by OS](https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implement…"},"usage_perc_y":43.32,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"bluetooth,ble,iot,physicalweb,webbluetooth","ie_id":"webbluetooth","chrome_id":"5264933985976320","firefox_id":"web-bluetooth","webkit_id":""},"scrollintoview":{"title":"scrollIntoView","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.","spec":"https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView","title":"MDN article"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Supports scrollIntoView with boolean parameter, but not `smooth` behavior option"},"usage_perc_y":6.25,"usage_perc_a":88.64,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-nth-child-of":{"title":"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes","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.","spec":"https://drafts.csswg.org/selectors/#the-nth-child-pseudo","status":"unoff","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=854148","title":"Mozilla Bug 854148 - Support for :nth-child(An+B of sel), :nth-last-child(An+B of sel) pseudo-classes"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=304163","title":"Chromium Issue 304163: Implement :nth-child(an+b of S) and :nth-last-child(an+b of S) pseudo-classes"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"nth-child,nth-last-child,nth,child,an,b,of,s,sel,selector,list","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-css-selector-:nth-child(an+b-of-selector-list)-and-:nth-last-child(an+b-of-selector-list)"},"focusin-focusout-events":{"title":"focusin & focusout events","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.","spec":"https://www.w3.org/TR/DOM-Level-3-Events/#event-type-focusin","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/focusin","title":"focusin event at Mozilla Developer Network"},{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/focusout","title":"focusout event at Mozilla Developer Network"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=687787","title":"Mozilla Bug 687787 - Add support for DOM3 focusin/focusout"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"u","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":88.3,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"focusin,focusout,focus,event","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-matches-pseudo":{"title":":matches() CSS pseudo-class","description":"The `: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.","spec":"https://www.w3.org/TR/selectors4/#matches","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:any","title":"Mozilla Developer Network article"},{"url":"https://webkit.org/blog/3615/css-selectors-inside-selectors-discover-matche…","title":"WebKit blog post about adding `:matches()` and other Selectors Level 4 features"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=906353","title":"Mozilla Bug 906353 - Add support for css4 selector :matches(), the standard of :-moz-any()"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge UserVoice feature request for :matches()"},{"url":"http://output.jsbin.com/lehina","title":"JS Bin testcase"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=568705","title":"Issue 568705: Chrome does not support :matches() selector"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"a x #3","5":"a x #3","6":"a x #3","7":"a x #3","8":"a x #3","9":"a x #3","10":"a x #3","11":"a x #3","12":"a x #3","13":"a x #3","14":"a x #3","15":"a x #3","16":"a x #3","17":"a x #3","18":"a x #3","19":"a x #3","20":"a x #3","21":"a x #3","22":"a x #3","23":"a x #3","24":"a x #3","25":"a x #3","26":"a x #3","27":"a x #3","28":"a x #3","29":"a x #3","30":"a x #3","31":"a x #3","32":"a x #3","33":"a x #3","34":"a x #3","35":"a x #3","36":"a x #3","37":"a x #3","38":"a x #3","39":"a x #3","40":"a x #3","41":"a x #3","42":"a x #3","43":"a x #3","44":"a x #3","45":"a x #3","46":"a x #3","47":"a x #3","48":"a x #3","49":"a x #3","50":"a x #3","51":"a x #3","52":"a x #3","53":"a x #3","54":"a x #3","55":"a x #3"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a x #1","6":"a x #1","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"y #2","9.3":"y #2","10.0-10.2":"y #2"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a x #1","4.1":"a x #1","4.2-4.3":"a x #1","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"u","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"a x #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"Most browsers support this spelled as a prefixed `:-vendor-any()` pseudo-class.","notes_by_num":{"1":"Only supports the `:-webkit-any()` pseudo-class, which is deprecated due to handling specificity incorrectly.","2":"Also supports the `:-webkit-any()` pseudo-class, which is deprecated due to handling specificity incorrectly.","3":"Only supports the `:-moz-any()` pseudo-class."},"usage_perc_y":11.27,"usage_perc_a":76.72,"ucprefix":false,"parent":"","keywords":":matches,matches,:any,any","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-css-selector-:matches()"},"rel-noopener":{"title":"rel=noopener","description":"Ensure new browsing contexts are opened without a useful `window.opener`","spec":"https://html.spec.whatwg.org/multipage/semantics.html#link-type-noopener","status":"ls","links":[{"url":"https://mathiasbynens.github.io/rel-noopener/","title":"Explainer"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1222516","title":"Gecko/Firefox issue"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=155166","title":"WebKit/Safari issue"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge feature request"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":52.33,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"rel,relation,link,security","ie_id":"","chrome_id":"5651874132787200","firefox_id":"","webkit_id":""},"css-text-justify":{"title":"CSS text-justify","description":"CSS property to define how text should be justified when `text-align: justify` is set.","spec":"https://drafts.csswg.org/css-text-3/#text-justify-property","status":"wd","links":[{"url":"https://crbug.com/248894","title":"Chrome support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=99945","title":"WebKit support bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=276079","title":"Firefox support bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"u","6":"u","7":"u","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #2","44":"n d #2","45":"n d #2","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2","56":"n d #2","57":"n d #2","58":"n d #2","59":"n d #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n d #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #2"},"and_chr":{"56":"n d #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #2"}},"notes":"","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 [MSDN](https://msdn.microsoft.com/en-us/library/ms531172%28v=vs.85%29.aspx) for details.","2":"`inter-word` and `distribute` values supported behind the \"Experimental platform features\" flag but `distribute` support [is buggy](https://crbug.com/467406)"},"usage_perc_y":0,"usage_perc_a":6.58,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-scrollbar":{"title":"CSS scrollbar styling","description":"Non-standard methods of styling scrollbars.","spec":"https://webkit.org/blog/363/styling-scrollbars/","status":"unoff","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=77790","title":"Firefox support bug"},{"url":"http://stackoverflow.com/questions/9251354/css-customized-scroll-bar-in-div…","title":"Stackoverflow article discussiong cross-browser support"},{"url":"http://codemug.com/html/custom-scrollbars-using-css/","title":"Tutorial for IE & WebKit/Blink browsers"},{"url":"https://noraesae.github.io/perfect-scrollbar/","title":"\"perfect-scrollbar\" - Minimal custom scrollbar plugin"},{"url":"http://manos.malihu.gr/jquery-custom-content-scroller/","title":"jQuery custom content scroller"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y x #2","5":"y x #2","6":"y x #2","7":"y x #2","8":"y x #2","9":"y x #2","10":"y x #2","11":"y x #2","12":"y x #2","13":"y x #2","14":"y x #2","15":"y x #2","16":"y x #2","17":"y x #2","18":"y x #2","19":"y x #2","20":"y x #2","21":"y x #2","22":"y x #2","23":"y x #2","24":"y x #2","25":"y x #2","26":"y x #2","27":"y x #2","28":"y x #2","29":"y x #2","30":"y x #2","31":"y x #2","32":"y x #2","33":"y x #2","34":"y x #2","35":"y x #2","36":"y x #2","37":"y x #2","38":"y x #2","39":"y x #2","40":"y x #2","41":"y x #2","42":"y x #2","43":"y x #2","44":"y x #2","45":"y x #2","46":"y x #2","47":"y x #2","48":"y x #2","49":"y x #2","50":"y x #2","51":"y x #2","52":"y x #2","53":"y x #2","54":"y x #2","55":"y x #2","56":"y x #2","57":"y x #2","58":"y x #2","59":"y x #2"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y x #2","6":"y x #2","6.1":"y x #2","7":"y x #2","7.1":"y x #2","8":"y x #2","9":"y x #2","9.1":"y x #2","10":"y x #2","10.1":"y x #2","TP":"y x #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x #2","16":"y x #2","17":"y x #2","18":"y x #2","19":"y x #2","20":"y x #2","21":"y x #2","22":"y x #2","23":"y x #2","24":"y x #2","25":"y x #2","26":"y x #2","27":"y x #2","28":"y x #2","29":"y x #2","30":"y x #2","31":"y x #2","32":"y x #2","33":"y x #2","34":"y x #2","35":"y x #2","36":"y x #2","37":"y x #2","38":"y x #2","39":"y x #2","40":"y x #2","41":"y x #2","42":"y x #2","43":"y x #2","44":"y x #2","45":"y x #2"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"y x #2","8":"y x #2","8.1-8.4":"y x #2","9.0-9.2":"y x #2","9.3":"y x #2","10.0-10.2":"y x #2"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y x #2","3":"y x #2","4":"y x #2","4.1":"y x #2","4.2-4.3":"y x #2","4.4":"y x #2","4.4.3-4.4.4":"y x #2","53":"y x #2"},"bb":{"7":"y x #2","10":"y x #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x #2"},"and_chr":{"56":"y x #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x #2"},"samsung":{"4":"y x #2"},"and_qq":{"1.2":"y x #2"}},"notes":"Currently scrollbar styling doesn't appear to be on any standards track.","notes_by_num":{"1":"Only supports styling [scrollbar colors](https://msdn.microsoft.com/en-us/library/ms531155%28v=vs.85%29.aspx), no other properties to define the scrollbar's appearance.","2":"Supports scrollbar styling via CSS [pseudo-properties](https://webkit.org/blog/363/styling-scrollbars/)."},"usage_perc_y":81.44,"usage_perc_a":4.48,"ucprefix":false,"parent":"","keywords":"scrollbar-button,scrollbar-track,scrollbar-thumb,scrollbar-base-color,scrollbar-face-color","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-preload":{"title":"Resource Hints: preload","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.","spec":"https://w3c.github.io/preload/","status":"wd","links":[{"url":"https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/","title":"Preload: What Is It Good For?"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1222633","title":"Firefox support bug"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":50.75,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"preload","chrome_id":"5757468554559488","firefox_id":"","webkit_id":"feature-preload"},"css-case-insensitive":{"title":"Case-insensitive CSS attribute selectors","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\">`.","spec":"https://drafts.csswg.org/selectors-4/#attribute-case","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors#case-i…","title":"Mozilla Developer Network article"},{"url":"http://jsbin.com/zutuna/edit?html,css,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":69.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"i,attribute,case,insensitive,sensitive,sensitivity,insensitivity","ie_id":"","chrome_id":"5610936115134464","firefox_id":"","webkit_id":"feature-case-insensitive-attribute-selectors"},"css-default-pseudo":{"title":":default CSS pseudo-class","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.","spec":"https://drafts.csswg.org/selectors-4/#the-default-pseudo","status":"unoff","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-default","title":"HTML specification for `:default`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:default","title":"Mozilla Developer Network article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"},{"url":"http://jsbin.com/hiyada/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=156230","title":"WebKit bug 156230 - `:default` CSS pseudo-class should match checkboxes+radios with a `checked` attribute"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a #2","12":"a #2","12.1":"a #2","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #2"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"y"},"bb":{"7":"u","10":"a #1"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a #2","37":"a #1"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":57.24,"usage_perc_a":34.12,"ucprefix":false,"parent":"","keywords":":default,default","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-optional-pseudo":{"title":":optional CSS pseudo-class","description":"The `:optional` pseudo-class matches form inputs (`<input>`, `<textarea>`, `<select>`) which are not `:required`.","spec":"https://drafts.csswg.org/selectors-4/#optional-pseudo","status":"unoff","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-optional","title":"HTML specification for `:optional`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:optional","title":"Mozilla Developer Network article"},{"url":"http://jsbin.com/fihudu/edit?html,css,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not match non-required `<select>`s"},"usage_perc_y":94.08,"usage_perc_a":3.44,"ucprefix":false,"parent":"form-validation","keywords":":optional,optional,:required,required","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-indeterminate-pseudo":{"title":":indeterminate CSS pseudo-class","description":"The `:indeterminate` pseudo-class matches indeterminate checkboxes, indeterminate `<progress>` bars, and radio buttons with no checked button in their radio button group.","spec":"https://drafts.csswg.org/selectors-4/#indeterminate","status":"unoff","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-indeterminate","title":"HTML specification for `:indeterminate`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate","title":"Mozilla Developer Network article"},{"url":"https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/712403…","title":"EdgeHTML issue 7124038 - `:indeterminate` pseudo-class doesn't match radio buttons"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=885359","title":"Mozilla Bug 885359 - Radio groups without a selected radio button should have `:indeterminate` applying"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=156270","title":"WebKit Bug 156270 - `:indeterminate` pseudo-class should match radios whose group has no checked radio"},{"url":"http://jsbin.com/zumoqu/edit?html,css,js,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1 #2","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"a #1 #2","5":"a #1 #2","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a #1 #2","6":"u","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a #3","12":"a #3","12.1":"a #3","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #3"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"a #1","4.4.3-4.4.4":"u","53":"y"},"bb":{"7":"u","10":"a #1"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a #3","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":70.83,"usage_perc_a":26.12,"ucprefix":false,"parent":"","keywords":":indeterminate,indeterminate","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webgl2":{"title":"WebGL 2.0","description":"Next version of WebGL. Based on OpenGL ES 3.0.","spec":"https://www.khronos.org/registry/webgl/specs/latest/2.0/","status":"other","links":[{"url":"https://blog.mozilla.org/futurereleases/2015/03/03/an-early-look-at-webgl-2/","title":"Firefox blog post"},{"url":"https://www.khronos.org/webgl/wiki/Getting_a_WebGL_Implementation","title":"Getting a WebGL Implementation"}],"categories":["Canvas"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n d #1 #2","26":"n d #1 #2","27":"n d #1 #2","28":"n d #1 #2","29":"n d #1 #2","30":"n d #1 #2","31":"n d #1 #2","32":"n d #1 #2","33":"n d #1 #2","34":"n d #1 #2","35":"n d #1 #2","36":"n d #1 #2","37":"n d #1 #2","38":"n d #1 #2","39":"n d #1 #2","40":"n d #1 #2","41":"n d #1 #2","42":"n d #1 #2","43":"n d #1 #2","44":"n d #1 #2","45":"n d #2","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #3","44":"n d #3","45":"n d #3","46":"n d #3","47":"n d #3","48":"n d #3","49":"n d #3","50":"n d #3","51":"n d #3","52":"n d #3","53":"n d #3","54":"n d #3","55":"n d #3","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n d #4","TP":"n d #4"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #3"}},"notes":"","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 via the \"Experimental Features\" developer menu"},"usage_perc_y":22.61,"usage_perc_a":0,"ucprefix":false,"parent":"canvas","keywords":"web gl","ie_id":"webgl20","chrome_id":"6694359164518400","firefox_id":"webgl-2","webkit_id":"specification-webgl-2"},"css-initial-letter":{"title":"CSS Initial Letter","description":"Method of creating an enlarged cap, including a drop or raised cap, in a robust way.","spec":"https://www.w3.org/TR/css-inline/#initial-letter-styling","status":"wd","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1223880","title":"Firefox Implementation Ticket"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/initial-letter","title":"MDN"},{"url":"https://webdesign.tutsplus.com/tutorials/better-css-drop-caps-with-initial-…","title":"Blog post on Envato Tuts+, \"Better CSS Drop Caps With initial-letter\""},{"url":"http://labs.jensimmons.com/#initialletter","title":"Demos at Jen Simmons Labs"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Firefox status: [in-development](https://bugzilla.mozilla.org/show_bug.cgi?id=1223880)","notes_by_num":{"1":"Safari implementation is incomplete. Does not allow applying web fonts to the initial letter."},"usage_perc_y":0,"usage_perc_a":11.27,"ucprefix":false,"parent":"","keywords":"initial-letter,initial letter,letter,drop cap,dropcap","ie_id":"initialletter","chrome_id":"","firefox_id":"","webkit_id":""},"document-currentscript":{"title":"document.currentScript","description":"`document.currentScript` returns the `<script>` element whose script is currently being processed.","spec":"https://html.spec.whatwg.org/multipage/dom.html#dom-document-currentscript","status":"ls","links":[{"url":"https://github.com/JamesMGreene/document.currentScript","title":"Polyfill (IE 6-10 only)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":79.14,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-descendant-gtgt":{"title":"Explicit descendant combinator >>","description":"An explicit, non-whitespace spelling of the descendant combinator. `A >> B` is equivalent to `A B`.","spec":"https://drafts.csswg.org/selectors-4/#descendant-combinators","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_selectors","title":"MDN article"},{"url":"http://jsbin.com/qipekof/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=446050","title":"Chrome issue #446050: Implement Descendant Combinator \">>\""},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1266283","title":"Mozilla bug #1266283 - Implement CSS4 descendant combinator `>>`"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"u","58":"u","59":"u"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":1.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"same-site-cookie-attribute":{"title":"'SameSite' cookie attribute","description":"Same-site cookies (n\u00e9e \"First-Party-Only\" (n\u00e9e \"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.","spec":"https://tools.ietf.org/html/draft-west-first-party-cookies-06","status":"other","links":[{"url":"http://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-coo…","title":"Preventing CSRF with the same-site cookie attribute"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=795346","title":"Mozilla Bug #795346: Add SameSite support for cookies"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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":{},"usage_perc_y":50.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"security,cookies,cookie,csrf","ie_id":"","chrome_id":"4672634709082112","firefox_id":"","webkit_id":""},"css-has":{"title":":has() CSS relational pseudo-class","description":"Only select elements containing specified content. For example, `a:has(>img)` selects all `<a>` elements that contain an `<img>` child.","spec":"https://drafts.csswg.org/selectors-4/#relational","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:has","title":":has() on MDN"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=418039","title":"Firefox support bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"children,parent,selector","ie_id":"cssrelationalpseudoclasshas","chrome_id":"","firefox_id":"","webkit_id":""},"css-not-sel-list":{"title":"selector list argument of :not()","description":"Selectors Level 4 allows the `:not()` pseudo-class to accept a list of selectors, which the element must not match any of. Selectors Level 3 only allowed `:not()` to accept a single simple selector. Thus, `:not(a):not(.b):not([c])` can instead be written as `:not(a, .b, [c])`","spec":"https://www.w3.org/TR/selectors4/#negation","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:not","title":"MDN article"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=580628","title":"Chrome feature request issue"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=933562","title":"Firefox feature request bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"u","58":"u","59":"u"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"negation,not,pseudo,selector,selectors,list,multiple,argument,level,4","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-css-selector-:not()-level-4"},"credential-management":{"title":"Credential Management API","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.","spec":"https://www.w3.org/TR/credential-management-1/","status":"wd","links":[{"url":"https://developers.google.com/web/updates/2016/04/credential-management-api","title":"Tutorial by Google"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API","title":"Mozilla Developer Network"},{"url":"https://g.co/codelabs/cmapi","title":"Codelab"},{"url":"https://credential-management-sample.appspot.com/","title":"Live Demo"},{"url":"https://github.com/GoogleChrome/credential-management-sample","title":"Sample Code"},{"url":"https://github.com/w3c/webappsec-credential-management","title":"Spec discussion"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n d","49":"n d","50":"n d","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":50.08,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"credential,navigator.credentials","ie_id":"","chrome_id":"5026422640869376","firefox_id":"","webkit_id":""},"css-dir-pseudo":{"title":":dir() CSS pseudo-class","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.","spec":"https://www.w3.org/TR/selectors4/#the-dir-pseudo","status":"wd","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-ltr","title":"HTML specification for `:dir()`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:dir","title":"Mozilla Developer Network article"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=576815","title":"Chrome issue #576815: CSS4 pseudo-class :dir()"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=64861","title":"WebKit bug #64861: Need support for :dir() pseudo-class"},{"url":"http://jsbin.com/celuye/edit?html,css,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":6.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":":dir,dir,direction,ltr,rtl,left,right","ie_id":"","chrome_id":"5751531651465216","firefox_id":"","webkit_id":""},"css-focus-within":{"title":":focus-within CSS pseudo-class","description":"The `:focus-within` pseudo-class matches elements that either themselves match `:focus` or that have descendants which match `:focus`.","spec":"https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo","status":"unoff","links":[{"url":"https://www.sitepoint.com/future-generation-css-selectors-level-4/#generali…","title":"The Future Generation of CSS Selectors: Level 4: Generalized Input Focus Pseudo-class"},{"url":"http://allyjs.io/api/style/focus-within.html","title":"ally.style.focusWithin Polyfill, part of ally.js"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=140144","title":"WebKit bug #140144: Add support for CSS4 `:focus-within` pseudo"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=617371","title":"Chromium issue #617371: Implement `:focus-within` pseudo-class from Selectors Level 4"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1176997","title":"Mozilla bug #1176997: Add support for pseudo class `:focus-within`"},{"url":"http://jsbin.com/qevoqa/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within","title":"Mozilla Developer Network article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0.18,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"focus,within,focus-within,pseudo","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"dom-manip-convenience":{"title":"DOM manipulation convenience methods","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`.","spec":"https://dom.spec.whatwg.org/#interface-childnode","status":"ls","links":[{"url":"https://dom.spec.whatwg.org/#interface-childnode","title":"WHATWG DOM Specification for ChildNode"},{"url":"https://dom.spec.whatwg.org/#interface-parentnode","title":"WHATWG DOM Specification for ParentNode"},{"url":"http://jsbin.com/fiqacod/edit?html,js,output","title":"JS Bin testcase"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ParentNode","title":"ParentNode article on Mozilla Developer Network"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ChildNode","title":"ChildNode article on Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #1","53":"n d #1","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Enabled through the \"Enable Experimental Web Platform Features\" flag in chrome://flags"},"usage_perc_y":64.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"dom,manipulation,convenience,convenient,before,after,replaceWith,prepend,append","ie_id":"","chrome_id":"5723067795898368","firefox_id":"","webkit_id":""},"requestidlecallback":{"title":"requestIdleCallback","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`.","spec":"https://w3c.github.io/requestidlecallback/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback","title":"MDN documentation"},{"url":"https://developers.google.com/web/updates/2015/08/using-requestidlecallback","title":"Google Developers article"},{"url":"https://gist.github.com/paullewis/55efe5d6f05434a96c36","title":"Shim"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":52.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"requestIdleCallback,request,idle","ie_id":"requestidlecallback","chrome_id":"5572795866021888","firefox_id":"request-idle-callback","webkit_id":""},"scrollintoviewifneeded":{"title":"Element.scrollIntoViewIfNeeded()","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.","spec":"https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNe…","status":"unoff","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=403510","title":"Mozilla Bug 403510 - Implement scrollIntoViewIfNeeded"},{"url":"https://www.w3.org/Bugs/Public/show_bug.cgi?id=17152","title":"W3C CSSOM View bug #17152: Support centering an element when scrolling into view."}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":81.43,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"scrollIntoViewIfNeeded,scroll","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-attr":{"title":"CSS3 attr() function","description":"CSS Values and Units Level 3 adds the ability to use `attr()` on any CSS property, not just `content`, and to use it for non-string values (e.g. numbers, colors).","spec":"https://www.w3.org/TR/css-values/#attr-notation","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/attr","title":"Mozilla Developer Network article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=435426","title":"Mozilla Bug #435426: implement css3-values extensions to `attr()`"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=246571","title":"Chromium issue #246571: Implement CSS3 attribute / attr references"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=26609","title":"WebKit Bug #26609: Support CSS3 attr() function"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"attr,attribute,function","ie_id":"csslevel3attrfunction","chrome_id":"","firefox_id":"","webkit_id":""},"sdch":{"title":"SDCH Accept-Encoding/Content-Encoding","description":"Shared Dictionary Compression over HTTP","spec":"https://docs.google.com/viewer?a=v&pid=forums&srcid=MDIwOTgxNDMwMTgyMjkzMTI…","status":"other","links":[{"url":"https://groups.google.com/forum/#!forum/sdch","title":"SDCH Google Group"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=641069","title":"Bugzilla Bug 641069 - Implement SDCH"},{"url":"https://en.wikipedia.org/wiki/SDCH","title":"Wikipedia - SDCH"},{"url":"https://engineering.linkedin.com/shared-dictionary-compression-http-linkedin","title":"Shared Dictionary Compression for HTTP at LinkedIn."}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":54.13,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"http,compression,accept,content,encoding,sdch","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-containment":{"title":"CSS Containment","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.","spec":"https://drafts.csswg.org/css-containment/#style-containment","status":"unoff","links":[{"url":"https://developers.google.com/web/updates/2016/06/css-containment","title":"Google Developers article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1150081","title":"Firefox bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n d #1","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n d #1","39":"n d #1","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled via the \"Experimental Web Platform features\" flag"},"usage_perc_y":50.21,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"csscontainment","chrome_id":"6522186978295808","firefox_id":"","webkit_id":""},"tls1-2":{"title":"TLS 1.2","description":"The latest version 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.","spec":"https://tools.ietf.org/html/rfc5246","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.2","title":"Wikipedia article on TLS"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n d","9":"n d","10":"n d","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d","25":"n d","26":"n d","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n d","10.5":"n d","10.6":"n d","11":"n d","11.1":"n d","11.5":"n d","11.6":"n d","12":"n d","12.1":"y","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n d","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.05,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"tls12","chrome_id":"5197666342404096","firefox_id":"","webkit_id":""},"tls1-1":{"title":"TLS 1.1","description":"Version 1.1 of the Transport Layer Security (TLS) protocol.","spec":"https://tools.ietf.org/html/rfc4346","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.1","title":"Wikipedia article on TLS"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n d","9":"n d","10":"n d","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n d","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n d","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.3,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-inputmode":{"title":"inputmode attribute","description":"The `inputmode` attribute specifies what kind of input mechanism would be most helpful for users entering content into the form control.","spec":"https://html.spec.whatwg.org/multipage/forms.html#input-modalities:-the-inp…","status":"ls","links":[{"url":"http://www.wufoo.com/html5/attributes/23-inputmode.html","title":"Demo on Wufoo (old)"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"a","18":"a","19":"a","20":"a","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Firefox OS is reported to have partial support for this property as `x-inputmode`.\r\n\r\nBlink-based browsers appear to recognize the `inputMode` property on `input` & `textarea` fields though it is unclear what effect it currently has as the feature is still in development.","notes_by_num":{"1":"Support can be enabled via the `dom.forms.inputmode` flag"},"usage_perc_y":0,"usage_perc_a":0.03,"ucprefix":false,"parent":"","keywords":"","ie_id":"inputmode","chrome_id":"6225984592281600","firefox_id":"","webkit_id":""},"ch-unit":{"title":"ch (character) unit","description":"Unit representing the width of the character \"0\" in the current font, of particular use in combination with monospace fonts.","spec":"https://www.w3.org/TR/css3-values/#ch","status":"cr","links":[{"url":"https://johndjameson.com/blog/making-sense-of-ch-units/","title":"Blog post on using ch units"},{"url":"http://revoltpuppy.com/articles/89/using-ch-an-underappreciated-css-length","title":"Various uses for the ch unit"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":79.98,"usage_perc_a":4.05,"ucprefix":false,"parent":"","keywords":"ch unit,character unit","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"img-naturalwidth-naturalheight":{"title":"naturalWidth & naturalHeight image properties","description":"Properties defining the intrinsic width and height of the image, rather than the displayed width & height.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-natura…","status":"ls","links":[{"url":"http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/","title":"Blog post on support in IE"},{"url":"https://gist.github.com/jalbertbowden/5273983","title":"gist on getting natural width & height in older IE"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"filereadersync":{"title":"FileReaderSync","description":"Allows files to be read synchronously in Web Workers","spec":"https://w3c.github.io/FileAPI/#FileReaderSync","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/FileReaderSync","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.3,"usage_perc_a":0,"ucprefix":false,"parent":"filereader","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mediarecorder":{"title":"MediaRecorder API","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.","spec":"https://w3c.github.io/mediacapture-record/MediaRecorder.html","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder_API","title":"MDN article"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n d #1","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1","35":"n d #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Can be enabled via the experimental Web Platform features flag. Does not support audio recording, only video."},"usage_perc_y":58.5,"usage_perc_a":0,"ucprefix":false,"parent":"stream","keywords":"","ie_id":"mediarecorder","chrome_id":"5929649028726784","firefox_id":"media-recorder","webkit_id":""},"readonly-attr":{"title":"readonly attribute of input and textarea elements","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-readonly","status":"ls","links":[{"url":"https://html.spec.whatwg.org/multipage/forms.html#attr-textarea-readonly","title":"WHATWG HTML specification for the readonly attribute of the `<textarea>` element"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-readon…","title":"Mozilla Developer Network article"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"u","16":"u","17":"u","18":"u","19":"u","20":"u","21":"u","22":"u","23":"u","24":"u","25":"u","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #2","11":"y #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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. "},"usage_perc_y":97.78,"usage_perc_a":0.14,"ucprefix":false,"parent":"","keywords":"readonly,read,attribute,edit,editable","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"x-frame-options":{"title":"X-Frame-Options HTTP header","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.","spec":"https://tools.ietf.org/html/rfc7034","status":"other","links":[{"url":"http://erlend.oftedal.no/blog/tools/xframeoptions/","title":"X-Frame-Options Compatibility Test"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options","title":"Mozilla Developer Network article"},{"url":"https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet","title":"OWASP Clickjacking Defense Cheat Sheet"},{"url":"https://blogs.msdn.microsoft.com/ieinternals/2010/03/30/combating-clickjack…","title":"Combating ClickJacking With X-Frame-Options - IEInternals"},{"url":"https://blogs.msdn.microsoft.com/ie/2009/01/27/ie8-security-part-vii-clickj…","title":"IE8 Security Part VII: ClickJacking Defenses - IEBlog"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"u","16":"u","17":"u","18":"u","19":"u","20":"u","21":"u","22":"u","23":"u","24":"u","25":"u","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a","12":"a","12.1":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"a","10":"a"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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":{},"usage_perc_y":13.12,"usage_perc_a":81.39,"ucprefix":false,"parent":"","keywords":"x-frame-options,frame,options,header,clickjacking","ie_id":"","chrome_id":"5760041927835648","firefox_id":"","webkit_id":""},"indeterminate-checkbox":{"title":"indeterminate checkbox","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.","spec":"https://html.spec.whatwg.org/#dom-input-indeterminate","status":"ls","links":[{"url":"https://css-tricks.com/indeterminate-checkboxes/","title":"CSS-Tricks article"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=160484","title":"WebKit Bug 160484 - iOS doesn't support indeterminate checkboxes"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"u","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Indeterminacy does not affect a checkbox's checkedness state. It merely affects how the checkbox is displayed.","notes_by_num":{},"usage_perc_y":74.76,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"tabindex-attr":{"title":"tabindex global attribute","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.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#attr-tabindex","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex","title":"Mozilla Developer Network article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"u","6":"u","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y #2","6":"y #2","6.1":"y #2","7":"y #2","7.1":"y #2","8":"y #2","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y #2 #3","4.0-4.1":"y #2 #3","4.2-4.3":"y #2 #3","5.0-5.1":"y #2 #3","6.0-6.1":"y #2 #3","7.0-7.1":"y #2 #3","8":"y #2 #3","8.1-8.4":"y #2 #3","9.0-9.2":"y #2 #3","9.3":"y #2 #3","10.0-10.2":"y #2 #3"},"op_mini":{"all":"u"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"u"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"u","37":"u"},"and_chr":{"56":"u"},"and_ff":{"51":"u"},"ie_mob":{"10":"u","11":"u"},"and_uc":{"11":"u"},"samsung":{"4":"u"},"and_qq":{"1.2":"n"}},"notes":"Mac OS X \"Full Keyboard Access\" refers to setting Keyboard\u2192Shortcuts\u2192Full 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."},"usage_perc_y":53.45,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"tabindex,tab,tabIndex","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"textencoder":{"title":"TextEncoder & TextDecoder","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.","spec":"https://encoding.spec.whatwg.org/#api","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder","title":"Mozilla Developer Network article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=160653","title":"WebKit Bug 160653 - Support TextEncoder & TextDecoder APIs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"a #1","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Not available in Web Workers in Firefox 19."},"usage_perc_y":63.4,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"encoding,text,encoder,decoding,decoder,utf,8","ie_id":"encodingstandard","chrome_id":"5714368087982080","firefox_id":"","webkit_id":""},"element-from-point":{"title":"document.elementFromPoint()","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).","spec":"https://www.w3.org/TR/cssom-view-1/#dom-document-elementfrompoint","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint","title":"Mozilla Developer Network article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":98.21,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"document,elementFromPoint,element,from,point","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"insert-adjacent":{"title":"Element.insertAdjacentElement() & Element.insertAdjacentText()","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.","spec":"https://dom.spec.whatwg.org/#dom-element-insertadjacentelement","status":"ls","links":[{"url":"https://dom.spec.whatwg.org/#dom-element-insertadjacenttext","title":"WHATWG DOM Specification for Element.insertAdjacentText()"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElem…","title":"Mozilla Developer Network article on Element.insertAdjacentElement()"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentText","title":"Mozilla Developer Network article on Element.insertAdjacentText()"},{"url":"http://jsbin.com/yanadu/edit?html,js,output","title":"JS Bin testcase"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"insertAdjacentElement,insertAdjacentText,insert,adjacent,element,text","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"once-event-listener":{"title":"\"once\" event listener option","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.","spec":"https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-once","status":"ls","links":[{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=615384","title":"Chromium Issue 615384: Support \"once\" event listener option"},{"url":"http://jsbin.com/zigiru/edit?html,js,output","title":"JS Bin testcase"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":62.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"event,listener,options,once","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"passive-event-listener":{"title":"Passive event listeners","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.","spec":"https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-passive","status":"ls","links":[{"url":"https://developers.google.com/web/updates/2016/06/passive-event-listeners?h…","title":"Improving scroll performance with passive event listeners - Google Developers Updates"},{"url":"https://github.com/WICG/EventListenerOptions/blob/gh-pages/EventListenerOpt…","title":"Polyfill from the WICG"},{"url":"https://github.com/WICG/EventListenerOptions","title":"Original WICG EventListenerOptions repository"},{"url":"http://jsbin.com/jaqaku/edit?html,js,output","title":"JS Bin testcase"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":74.88,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"passive,event,listener,options","ie_id":"","chrome_id":"5745543795965952","firefox_id":"passive-event-listeners","webkit_id":""},"selection-api":{"title":"Selection API","description":"API for accessing selected content of a document, including the `window.getSelection()` method, as well as the `selectstart` & `selectionchange` events on `document`.","spec":"https://www.w3.org/TR/selection-api/","status":"wd","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1231923","title":"Firefox support bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"u","6":"a #2","7":"a #2","8":"a #2","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1 #5","44":"a #1 #5","45":"a #1 #5","46":"a #1 #5","47":"a #1 #5","48":"a #1 #5","49":"a #1 #5","50":"a #1 #5","51":"a #1 #5","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"u","5.0-5.1":"a #3","6.0-6.1":"a #3","7.0-7.1":"a #3","8":"a #3","8.1-8.4":"a #3","9.0-9.2":"a #3","9.3":"a #3","10.0-10.2":"a #3"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"y #4","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"u","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"u","11":"y"},"and_uc":{"11":"y #4"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See also support for the related [DOM range](http://caniuse.com/#feat=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"},"usage_perc_y":77.65,"usage_perc_a":16.95,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"payment-request":{"title":"Payment Request API","description":"Payment Request is a new API for the open web that makes checkout flows easier, faster and consistent on shopping sites.","spec":"https://www.w3.org/TR/payment-request/","status":"wd","links":[{"url":"https://github.com/w3c/browser-payment-api/","title":"Spec discussion"},{"url":"https://developers.google.com/web/updates/2016/07/payment-request","title":"Bringing easy and fast checkout with Payment Request API"},{"url":"https://developers.google.com/web/fundamentals/primers/payment-request/","title":"Payment Request API Integration Guide"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API","title":"Mozilla Developer Network"},{"url":"https://emerald-eon.appspot.com/","title":"Demo"},{"url":"https://googlechrome.github.io/samples/paymentrequest/","title":"Simpler Demos and Codes"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n d #2","15":"a #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"Apple provides an equivalent proprietary API called [Apple Pay JS](https://developer.apple.com/reference/applepayjs/)","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":"Preliminary implementation"},"usage_perc_y":25.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"PaymentRequest,Web Payments","ie_id":"paymentrequestapi","chrome_id":"5639348045217792","firefox_id":"","webkit_id":""},"shadowdomv1":{"title":"Shadow DOM v1","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.","spec":"https://www.w3.org/TR/shadow-dom/","status":"wd","links":[{"url":"https://bugs.webkit.org/show_bug.cgi?id=148695","title":"Safari implementation bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1205323","title":"Firefox implementation bug"},{"url":"https://developers.google.com/web/fundamentals/primers/shadowdom/?hl=en","title":"Google Developers - Shadow DOM v1: self-contained web components"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"Shadow DOM v0 was implemented in Chrome/Opera but other browser vendors are implementing v1.","notes_by_num":{"1":"Certain CSS selectors do not work (`:host > .local-child`) and styling slotted content (`::slotted`) is buggy."},"usage_perc_y":50.06,"usage_perc_a":9.77,"ucprefix":false,"parent":"","keywords":"web components,shadow dom","ie_id":"shadowdom","chrome_id":"4667415417847808","firefox_id":"shadow-dom","webkit_id":"feature-shadow-dom"},"urlsearchparams":{"title":"URLSearchParams","description":"The URLSearchParams interface defines utility methods to work with the query string of a URL.","spec":"https://url.spec.whatwg.org/#urlsearchparams","status":"ls","links":[{"url":"https://developers.google.com/web/updates/2016/01/urlsearchparams?hl=en","title":"Easy URL manipulation with URLSearchParams"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams","title":"MDN reference"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to only supporting `entries()`, `keys()`, `values()`, and `for...of`."},"usage_perc_y":58.18,"usage_perc_a":0.38,"ucprefix":false,"parent":"","keywords":"url,search,params","ie_id":"","chrome_id":"5632984866619392","firefox_id":"","webkit_id":""},"css-font-rendering-controls":{"title":"CSS font-rendering controls","description":"`@font-face` descriptor (currently defined as `font-display`) that allows control over how a downloadable font renders before it is fully loaded.","spec":"https://tabatkins.github.io/specs/css-font-display/","status":"unoff","links":[{"url":"https://developers.google.com/web/updates/2016/02/font-display","title":"Google Developers article"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display","title":"MDN article"},{"url":"https://css-tricks.com/font-display-masses/","title":"CSS tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Can be enabled via the \"Experimental Web Platform features\" flag","2":"Can be enabled in Firefox through the `layout.css.font-display.enabled` flag at about:config"},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"4799947908055040","firefox_id":"css-font-display","webkit_id":""},"wasm":{"title":"WebAssembly","description":"WebAssembly or \"wasm\" is a new portable, size- and load-time-efficient format suitable for compilation to the web.","spec":"https://github.com/WebAssembly/spec","status":"other","links":[{"url":"https://webassembly.github.io/","title":"Official site"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n d #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"y #4","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2","56":"n d #2","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n d #2"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #2"}},"notes":"","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"},"usage_perc_y":0.31,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web assembly","ie_id":"webassemblymvp","chrome_id":"5453022515691520","firefox_id":"web-assembly","webkit_id":"specification-webassembly"},"css-paged-media":{"title":"CSS Paged Media (@page)","description":"CSS at-rule (`@page`) to define page-specific rules when printing web pages, such as margin per page and page dimensions.","spec":"https://drafts.csswg.org/css-page-3/","status":"wd","links":[{"url":"http://www.htmluse.com/css-paged-media-page-rule/","title":"CSS Paged media article"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@page","title":"MDN article"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=85062","title":"WebKit support bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=286443","title":"Firefox support bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge support request"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"u"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"u"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"u","37":"n #2"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"n #2","11":"n #2"},"and_uc":{"11":"n #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":57.63,"usage_perc_a":12.79,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"childnode-remove":{"title":"ChildNode.remove()","description":"DOM node method to remove the node itself from the document.","spec":"https://dom.spec.whatwg.org/#dom-childnode-remove","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"u","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":88.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ChildNode,remove,delete,node,DOM","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-first-line":{"title":"CSS first-line pseudo-element","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.","spec":"https://drafts.csswg.org/selectors-3/#first-line","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line","title":"MDN article"},{"url":"https://css-tricks.com/almanac/selectors/f/first-line/","title":"CSS tricks article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`)."},"usage_perc_y":97.94,"usage_perc_a":0.43,"ucprefix":false,"parent":"css-sel3","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mutation-events":{"title":"Mutation events","description":"Deprecated mechanism for listening to changes made to the DOM, replaced by Mutation Observers.","spec":"https://www.w3.org/TR/DOM-Level-3-Events/#legacy-mutationevent-events","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events","title":"MDN article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #2","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1"},"safari":{"3.1":"u","3.2":"u","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a #2"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1"}},"notes":"See also support for [Mutation Observer](http://caniuse.com/#feat=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`"},"usage_perc_y":0.08,"usage_perc_a":94.32,"ucprefix":false,"parent":"","keywords":"DOMAttrModified,DOMCharacterDataModified,DOMNodeInserted,DOMNodeInsertedIntoDocument,DOMNodeRemoved,DOMNodeRemovedFromDocument,DOMSubtreeModified","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"web-app-manifest":{"title":"Web App Manifest","description":"The web app manifest provides information about an application (such as name, author, icon, and description) in a JSON file, which browsers can use to give richer offline experiences.","spec":"https://www.w3.org/TR/appmanifest/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Manifest","title":"Mozilla Developer Network article"},{"url":"https://webmanife.st","title":"Tool to generate a manifest from any given URL"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":56.83,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"manifest,pwa","ie_id":"webapplicationmanifest","chrome_id":"6488656873259008","firefox_id":"app-manifest","webkit_id":""},"comparedocumentposition":{"title":"Node.compareDocumentPosition()","description":"Compares the relative position of two nodes to each other in the DOM tree.","spec":"https://dom.spec.whatwg.org/#dom-node-comparedocumentposition","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPositi…","title":"Mozilla Developer Network article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a #2","6":"u","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":85.08,"usage_perc_a":12.58,"ucprefix":false,"parent":"","keywords":"Node,compareDocumentPosition,compare,document,position,preceding,following,disconnected,before,after,contains,contained,DOM","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"http-live-streaming":{"title":"HTTP Live Streaming (HLS)","description":"HTTP-based media streaming communications protocol","spec":"https://tools.ietf.org/html/draft-pantos-http-live-streaming-19","status":"unoff","links":[{"url":"https://en.wikipedia.org/wiki/HTTP_Live_Streaming","title":"Wikipedia article"},{"url":"https://developer.apple.com/streaming/","title":"Apple developer article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"HLS is being replaced by Dynamic Adaptive Streaming over HTTP (aka MPEG-DASH)","notes_by_num":{},"usage_perc_y":54.59,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"apple http live streaming,m3u8","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"es6-module":{"title":"ES6 module","description":"Import/export modules in JavaScript in ES6","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-exports","status":"ls","links":[{"url":"https://strongloop.com/strongblog/an-introduction-to-javascript-es6-modules/","title":"Intro to ES6 modules"},{"url":"https://blogs.windows.com/msedgedev/2016/05/17/es6-modules-and-beyond/","title":"MS Edge blog post on ES6 modules support"},{"url":"https://hacks.mozilla.org/2015/08/es6-in-depth-modules/","title":"Mozilla hacks article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=568953","title":"Firefox support bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n d #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Support can be enabled via `about:flags`"},"usage_perc_y":0.01,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"es6,module,import,export","ie_id":"moduleses6","chrome_id":"5365692190687232","firefox_id":"","webkit_id":"feature-modules"},"es6-class":{"title":"ES6 classes","description":"ES6 classes are syntactical sugar to provide a much simpler and clearer syntax to create objects and deal with inheritance.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-class-definitions","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes","title":"MDN article on ES6 classes"},{"url":"https://www.sitepoint.com/object-oriented-javascript-deep-dive-es6-classes/","title":"Sitepoint deep dive on ES6 classes"},{"url":"https://github.com/joshburgess/not-awesome-es6-classes","title":"List of resources critical of ES6 classes"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires strict mode. Non-strict mode support is behind the flag 'Enable Experimental JavaScript', disabled by default."},"usage_perc_y":71.09,"usage_perc_a":0.98,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,class","ie_id":"classeses6","chrome_id":"4633745457938432","firefox_id":"","webkit_id":""},"ping":{"title":"Ping attribute","description":"When used on an anchor, this attribute signifies that the browser should a ping request the resource the attribute points to.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#ping","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-ping","title":"Ping attribute on Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"UserVoice request for ping attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n d #1","3.5":"n d #1","3.6":"n d #1","4":"n d #1","5":"n d #1","6":"n d #1","7":"n d #1","8":"n d #1","9":"n d #1","10":"n d #1","11":"n d #1","12":"n d #1","13":"n d #1","14":"n d #1","15":"n d #1","16":"n d #1","17":"n d #1","18":"n d #1","19":"n d #1","20":"n d #1","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":71.4,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ping,a.ping,a[ping],ping attribute","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"form-submit-attributes":{"title":"Attributes for form submission","description":"Attributes for form submission that may be specified on submit buttons. The attributes are: `formaction`, `formenctype`, `formmethod`, `formnovalidate`, and `formtarget`","spec":"https://html.spec.whatwg.org/multipage/forms.html#attributes-for-form-submi…","status":"ls","links":[{"url":"http://html5doctor.com/html5-forms-introduction-and-new-attributes/#formact…","title":"Article describing each attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"u","10.5":"u","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"u","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"async-functions":{"title":"Async functions","description":"Async function make it possible treat functions returning Promise objects as if they were synchronous.","spec":"https://tc39.github.io/ecmascript-asyncawait/","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statement…","title":"Async Functions (MDN)"},{"url":"https://developers.google.com/web/fundamentals/getting-started/primers/asyn…","title":"Async functions - making promises friendly"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n d #1","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Since build 14342 - disabled by default; can be enabled through about:flags","2":"Async functions are present in Firefox Nightly since 31th October 2016."},"usage_perc_y":49.69,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ES2017,JavaScript,function,async,await,promises,asynchronous","ie_id":"asyncfunctions","chrome_id":"5643236399906816","firefox_id":"async-function","webkit_id":""},"css-text-indent":{"title":"CSS text-indent","description":"The `text-indent` property applies indentation to lines of inline content in a block.","spec":"https://drafts.csswg.org/css-text-3/#text-indent-property","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-indent","title":"MDN article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=784648","title":"Firefox support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=112755","title":"WebKit support bug"},{"url":"https://www.sitepoint.com/css-image-replacement-text-indent-negative-margin…","title":"Article on using text-indent for image replacement"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1 #2","39":"a #1 #2","40":"a #1 #2","41":"a #1 #2","42":"a #1 #2","43":"a #1 #2","44":"a #1 #2","45":"a #1 #2","46":"a #1 #2","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"a #1 #2","51":"a #1 #2","52":"a #1 #2","53":"a #1 #2","54":"a #1 #2","55":"a #1 #2","56":"a #1 #2","57":"a #1 #2","58":"a #1 #2","59":"a #1 #2"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1 #2","26":"a #1 #2","27":"a #1 #2","28":"a #1 #2","29":"a #1 #2","30":"a #1 #2","31":"a #1 #2","32":"a #1 #2","33":"a #1 #2","34":"a #1 #2","35":"a #1 #2","36":"a #1 #2","37":"a #1 #2","38":"a #1 #2","39":"a #1 #2","40":"a #1 #2","41":"a #1 #2","42":"a #1 #2","43":"a #1 #2","44":"a #1 #2","45":"a #1 #2"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #1"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"a #1 #2"},"and_chr":{"56":"a #1 #2"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1 #2"}},"notes":"","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"},"usage_perc_y":0,"usage_perc_a":98.37,"ucprefix":false,"parent":"","keywords":"each-line,hanging","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"intersectionobserver":{"title":"IntersectionObserver","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.","spec":"https://wicg.github.io/IntersectionObserver/","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API","title":"MDN article"},{"url":"https://github.com/jeremenichelli/intersection-observer-polyfill","title":"Polyfill"},{"url":"https://developers.google.com/web/updates/2016/04/intersectionobserver","title":"Google Developers article"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled in Firefox by setting the `about:config` preference `dom.IntersectionObserver.enabled` to true","2":"\"Preliminary\" support as feature is still in development"},"usage_perc_y":50.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"intersectionobserver","chrome_id":"5695342691483648","firefox_id":"","webkit_id":"specification-intersection-observer"},"css-marker-pseudo":{"title":"CSS ::marker pseudo-element","description":"The `::marker` pseudo-element allows list item markers to be styled or have their content value customized.","spec":"https://drafts.csswg.org/css-lists-3/#marker-pseudo-element","status":"wd","links":[{"url":"https://crbug.com/457718","title":"Chrome support bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=205202","title":"Firefox support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=141477","title":"WebKit support bug"},{"url":"https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/sugges…","title":"Edge UserVoice request"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::marker","title":"MDN article"},{"url":"https://css-tricks.com/almanac/selectors/m/marker/","title":"CSS-Tricks article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"url":{"title":"URL API","description":"API to retrieve the various parts that make up a given URL from a given URL string.","spec":"https://url.spec.whatwg.org/#api","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/URL","title":"MDN article on URL interface"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/URL/URL","title":"MDN article on URL constructor"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n #1","24":"n #1","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n #1","16":"n #1","17":"n #1","18":"n #1","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n #1","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":77.67,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"url constructor","ie_id":"urlapi","chrome_id":"5675829346435072","firefox_id":"","webkit_id":""},"flow-root":{"title":"display: flow-root","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. The result is the same as the \"clearfix\" hack.","spec":"https://www.w3.org/TR/css-display-3/#valdef-display-flow-root","status":"wd","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1322191","title":"Mozilla bug report"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=672508","title":"Chromium bug report"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=165603","title":"Webkit bug report"},{"url":"https://wpdev.uservoice.com/forums/257854/suggestions/17420707","title":"Edge bug report"},{"url":"https://rachelandrew.co.uk/archives/2017/01/24/the-end-of-the-clearfix-hack/","title":"Blog post: \"The end of the clearfix hack?\""}],"categories":["CSS","CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"y","59":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0.07,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"display,flow-root","ie_id":"","chrome_id":"5769454877147136","firefox_id":"","webkit_id":""},"css-rrggbbaa":{"title":"#rrggbbaa hex color notation","description":"The CSS Color Module Level 4 defines new 4 & 8 character hex notation for color to include the opacity level.","spec":"https://drafts.csswg.org/css-color/#hex-notation","status":"unoff","links":[{"url":"http://jsbin.com/ruyetahatu/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge support request for rrggbbaa"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"Support in Chrome is currently disable due to [this issue](http://crbug.com/618472)","notes_by_num":{"1":"Can be enabled via the \"Experimental web platform features\" flag."},"usage_perc_y":15.08,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"rgba, rrggbbaa, color","ie_id":"","chrome_id":"5685348285808640","firefox_id":"","webkit_id":""},"beforeafterprint":{"title":"Printing Events","description":"Window fires `beforeprint` and `afterprint` events so the printed document can be annotated.","spec":"https://www.w3.org/TR/html5/webappapis.html#printing","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/Printing#Detecting_print…","title":"MDN \u2013 Detecting print requests"},{"url":"http://crbug.com/218205","title":"Chrome support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=19937","title":"Safari support bug"}],"categories":["HTML5","JS API"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"u","11":"u"},"and_uc":{"11":"u"},"samsung":{"4":"u"},"and_qq":{"1.2":"n"}},"notes":"Due to its wider support, consider using `window.matchMedia('print')` where possible.","notes_by_num":{},"usage_perc_y":12.81,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"print,printer,printing,beforeprint,afterprint","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webvr":{"title":"WebVR API","description":"API for accessing virtual reality (VR) devices, including sensors and head-mounted displays.","spec":"https://w3c.github.io/webvr/","status":"unoff","links":[{"url":"https://webvr.rocks/","title":"Detailed device support information"},{"url":"https://github.com/googlevr/webvr-polyfill","title":"WebVR polyfill"},{"url":"http://aframe.io","title":"WebVR framework"},{"url":"https://webvr.info/","title":"WebVR info"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n d #2","58":"n d #2","59":"n d #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n d #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Available only in Firefox nightly & Firefox Developer Edition, not yet on track to be enabled for stable & beta builds.","2":"Enabled behind the WebVR & \"Gamepad Extensions\" flags under `chrome://flags`. Currently builds use an older version of the (still changing) specification.","3":"[In development](https://blogs.windows.com/msedgedev/2016/09/09/webvr-in-develo… in the latest Edge builds."},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"getvrdevices,getvrdisplays,getdisplays,navigator.vr","ie_id":"webvr","chrome_id":"4532810371039232","firefox_id":"","webkit_id":""},"css-apply-rule":{"title":"CSS @apply rule","description":"Allows a set of CSS properties to be applied using a named variable","spec":"https://tabatkins.github.io/specs/css-apply-rule/","status":"unoff","links":[{"url":"http://zeke.sikelianos.com/css-from-the-future/","title":"Article on CSS @apply"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"u"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"See also support for [CSS Variables](#feat=css-variables)","notes_by_num":{"1":"Can be enabled via the \"Experimental web platform features\" flag under about:flags"},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"5753701012602880","firefox_id":"","webkit_id":""},"css-hanging-punctuation":{"title":"CSS hanging-punctuation","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.","spec":"https://drafts.csswg.org/css-text-3/#hanging-punctuation-property","status":"wd","links":[{"url":"https://css-tricks.com/almanac/properties/h/hanging-punctuation/","title":"CSS tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"u"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":9.77,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"hanging punctuation,force-end,allow-end","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""}}}
+module.exports={"eras":{"e-53":"53 versions back","e-52":"52 versions back","e-51":"51 versions back","e-50":"50 versions back","e-49":"49 versions back","e-48":"48 versions back","e-47":"47 versions back","e-46":"46 versions back","e-45":"45 versions back","e-44":"44 versions back","e-43":"43 versions back","e-42":"42 versions back","e-41":"41 versions back","e-40":"40 versions back","e-39":"39 versions back","e-38":"38 versions back","e-37":"37 versions back","e-36":"36 versions back","e-35":"35 versions back","e-34":"34 versions back","e-33":"33 versions back","e-32":"32 versions back","e-31":"31 versions back","e-30":"30 versions back","e-29":"29 versions back","e-28":"28 versions back","e-27":"27 versions back","e-26":"26 versions back","e-25":"25 versions back","e-24":"24 versions back","e-23":"23 versions back","e-22":"22 versions back","e-21":"21 versions back","e-20":"20 versions back","e-19":"19 versions back","e-18":"18 versions back","e-17":"17 versions back","e-16":"16 versions back","e-15":"15 versions back","e-14":"14 versions back","e-13":"13 versions back","e-12":"12 versions back","e-11":"11 versions back","e-10":"10 versions back","e-9":"9 versions back","e-8":"8 versions back","e-7":"7 versions back","e-6":"6 versions back","e-5":"5 versions back","e-4":"4 versions back","e-3":"3 versions back","e-2":"2 versions back","e-1":"Previous version","e0":"Current","e1":"Near future","e2":"Farther future","e3":"3 versions ahead"},"agents":{"ie":{"browser":"IE","abbr":"IE","prefix":"ms","type":"desktop","usage_global":{"5.5":0.009298,"6":0.0233113,"7":0.0233113,"8":0.377643,"9":0.242438,"10":0.242438,"11":3.56197},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"5.5","6","7","8","9","10","11",null,null,null]},"edge":{"browser":"Edge","abbr":"Edge","prefix":"ms","type":"desktop","usage_global":{"12":0.05436,"13":0.14949,"14":1.48584,"15":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"12","13","14","15",null,null]},"firefox":{"browser":"Firefox","abbr":"FF","prefix":"moz","type":"desktop","usage_global":{"2":0.01812,"3":0.02718,"3.5":0.004534,"3.6":0.01812,"4":0.00453,"5":0.004879,"6":0.020136,"7":0.005725,"8":0.00906,"9":0.00533,"10":0.00453,"11":0.00906,"12":0.00906,"13":0.004486,"14":0.00453,"15":0.02265,"16":0.00906,"17":0.00453,"18":0.01812,"19":0.00453,"20":0.00453,"21":0.02265,"22":0.00453,"23":0.02265,"24":0.00906,"25":0.04077,"26":0.00906,"27":0.00906,"28":0.00906,"29":0.01359,"30":0.00906,"31":0.02718,"32":0.00906,"33":0.01359,"34":0.01359,"35":0.01812,"36":0.01812,"37":0.02265,"38":0.05436,"39":0.02265,"40":0.02265,"41":0.02718,"42":0.02718,"43":0.07701,"44":0.04077,"45":0.17214,"46":0.06342,"47":0.20838,"48":0.21744,"49":0.14949,"50":0.3624,"51":4.59342,"52":0.15855,"53":0.00906,"54":0,"55":0},"versions":[null,"2","3","3.5","3.6","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55"]},"chrome":{"browser":"Chrome","abbr":"Chr.","prefix":"webkit","type":"desktop","usage_global":{"4":0.004706,"5":0.004879,"6":0.004879,"7":0.005591,"8":0.005591,"9":0.005591,"10":0.004534,"11":0.02265,"12":0.00453,"13":0.004879,"14":0.004706,"15":0.004706,"16":0.00453,"17":0.00453,"18":0.01359,"19":0.02265,"20":0.00453,"21":0.01359,"22":0.03624,"23":0.00906,"24":0.05436,"25":0.01359,"26":0.01812,"27":0.01359,"28":0.01359,"29":0.01812,"30":0.02718,"31":0.0906,"32":0.0453,"33":0.03171,"34":0.03624,"35":0.06342,"36":0.12684,"37":0.02718,"38":0.03624,"39":0.03624,"40":0.02718,"41":0.04077,"42":0.04077,"43":0.2265,"44":0.04983,"45":0.33069,"46":0.05436,"47":0.14949,"48":0.0906,"49":1.37712,"50":0.15855,"51":0.33069,"52":0.14949,"53":0.23103,"54":0.31257,"55":6.01584,"56":17.2548,"57":0.08154,"58":0.05889,"59":0,"60":0},"versions":["4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60"]},"safari":{"browser":"Safari","abbr":"Saf.","prefix":"webkit","type":"desktop","usage_global":{"3.1":0,"3.2":0.008692,"4":0.00906,"5":0.03624,"5.1":0.05436,"6":0.00906,"6.1":0.03624,"7":0.02265,"7.1":0.00906,"8":0.09513,"9":0.10419,"9.1":0.43035,"10":1.5402,"10.1":0.00906,"TP":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3.1","3.2","4","5","5.1","6","6.1","7","7.1","8","9","9.1","10","10.1","TP",null]},"opera":{"browser":"Opera","abbr":"Op.","prefix":"webkit","type":"desktop","usage_global":{"9":0.0082,"9.5-9.6":0.00685,"10.0-10.1":0.01812,"10.5":0.008392,"10.6":0.004706,"11":0.016581,"11.1":0.006229,"11.5":0.004879,"11.6":0.004534,"12":0.00453,"12.1":0.07248,"15":0.00685,"16":0.00685,"17":0.00685,"18":0.005014,"19":0.006015,"20":0.004879,"21":0.006597,"22":0.006597,"23":0.013434,"24":0.006702,"25":0.006015,"26":0.005595,"27":0.004706,"28":0.00906,"29":0.004879,"30":0.004879,"31":0.00533,"32":0.005152,"33":0.005014,"34":0.009758,"35":0.004879,"36":0.03171,"37":0.00906,"38":0.02718,"39":0.004534,"40":0.004534,"41":0.00453,"42":0.17214,"43":0.28539,"44":0,"45":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"9","9.5-9.6","10.0-10.1","10.5","10.6","11","11.1","11.5","11.6","12","12.1","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45",null],"prefix_exceptions":{"9":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11":"o","11.1":"o","11.5":"o","11.6":"o","12":"o","12.1":"o"}},"ios_saf":{"browser":"iOS Safari","abbr":"iOS","prefix":"webkit","type":"mobile","usage_global":{"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.0551829,"7.0-7.1":0.243638,"8":0,"8.1-8.4":0.332138,"9.0-9.2":0.0655947,"9.3":0.900626,"10.0-10.2":8.216},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"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",null,null,null]},"op_mini":{"browser":"Opera Mini","abbr":"O.Mini","prefix":"o","type":"mobile","usage_global":{"all":3.30212},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"all",null,null,null]},"android":{"browser":"Android Browser","abbr":"And.","prefix":"webkit","type":"mobile","usage_global":{"2.1":0,"2.2":0,"2.3":0,"3":0,"4":0.0506998,"4.1":0.152099,"4.2-4.3":0.48976,"4.4":1.08193,"4.4.3-4.4.4":0.610426,"53":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2.1","2.2","2.3","3","4","4.1","4.2-4.3","4.4","4.4.3-4.4.4","53",null,null,null]},"bb":{"browser":"Blackberry Browser","abbr":"BB","prefix":"webkit","type":"mobile","usage_global":{"7":0.04923,"10":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"7","10",null,null,null]},"op_mob":{"browser":"Opera Mobile","abbr":"O.Mob","prefix":"o","type":"mobile","usage_global":{"10":0,"11":0,"11.1":0,"11.5":0,"12":0,"12.1":0,"37":0.00722566},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10","11","11.1","11.5","12","12.1","37",null,null,null],"prefix_exceptions":{"37":"webkit"}},"and_chr":{"browser":"Chrome for Android","abbr":"Chr/And.","prefix":"webkit","type":"mobile","usage_global":{"56":25.6403},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"56",null,null,null]},"and_ff":{"browser":"Firefox for Android","abbr":"FF/And.","prefix":"moz","type":"mobile","usage_global":{"51":0.03829},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"51",null,null,null]},"ie_mob":{"browser":"IE Mobile","abbr":"IE.Mob","prefix":"ms","type":"mobile","usage_global":{"10":0.0812534,"11":0.383697},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10","11",null,null,null]},"and_uc":{"browser":"UC Browser for Android","abbr":"UC","prefix":"webkit","type":"mobile","usage_global":{"11":9.23336},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"11",null,null,null],"prefix_exceptions":{"11":"webkit"}},"samsung":{"browser":"Samsung Internet","abbr":"SS","prefix":"webkit","type":"mobile","usage_global":{"4":3.56644},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"4",null,null,null]},"and_qq":{"browser":"QQ Browser","abbr":"QQ","prefix":"webkit","type":"mobile","usage_global":{"1.2":0},"versions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1.2",null,null,null]}},"statuses":{"rec":"W3C Recommendation","pr":"W3C Proposed Recommendation","cr":"W3C Candidate Recommendation","wd":"W3C Working Draft","ls":"WHATWG Living Standard","other":"Other","unoff":"Unofficial / Note"},"cats":{"CSS":["CSS","CSS2","CSS3"],"HTML5":["Canvas","HTML5"],"JS API":["JS API"],"Other":["DOM","PNG","Other"],"SVG":["SVG"]},"updated":1489983215,"data":{"png-alpha":{"title":"PNG alpha transparency","description":"Semi-transparent areas in PNG files","spec":"http://www.w3.org/TR/PNG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Portable_Network_Graphics","title":"Wikipedia"},{"url":"http://dillerdesign.com/experiment/DD_belatedPNG/","title":"Workaround for IE6"}],"categories":["PNG"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.","notes_by_num":{},"usage_perc_y":98.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"apng":{"title":"Animated PNG (APNG)","description":"Like animated GIFs, but allowing 24-bit colors and alpha transparency","spec":"https://wiki.mozilla.org/APNG_Specification","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/APNG","title":"Wikipedia"},{"url":"https://github.com/davidmz/apng-canvas","title":"Polyfill using canvas"},{"url":"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp","title":"Chrome extension providing support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://addons.opera.com/en/extensions/details/apng/?display=en","title":"Opera extension providing support"},{"url":"https://code.google.com/p/chromium/issues/detail?id=437662","title":"Chromium issue"}],"categories":["PNG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Where support for APNG is missing, only the first frame is displayed","notes_by_num":{},"usage_perc_y":18.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"6691520493125632","firefox_id":"","webkit_id":""},"video":{"title":"Video element","description":"Method of playing videos on webpages (without requiring a plug-in).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-elem…","status":"ls","links":[{"url":"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5…","title":"Detailed article on video/audio elements"},{"url":"http://webmproject.org","title":"WebM format information"},{"url":"http://camendesign.co.uk/code/video_for_everybody","title":"Video for Everybody"},{"url":"http://diveintohtml5.info/video.html","title":"Video on the Web - includes info on Android support"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/video","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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… to run the video element."},"usage_perc_y":94.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"<video>","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"audio":{"title":"Audio element","description":"Method of playing sound on webpages (without requiring a plug-in).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-audio-elem…","status":"ls","links":[{"url":"http://html5doctor.com/native-audio-in-the-browser/","title":"HTML5 Doctor article"},{"url":"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5…","title":"Detailed article on video/audio elements"},{"url":"http://www.jplayer.org/latest/demos/","title":"Demos of audio player that uses the audio element"},{"url":"http://24ways.org/2010/the-state-of-html5-audio","title":"Detailed article on support"},{"url":"http://textopia.org/androidsoundformats.html","title":"File format test page"},{"url":"http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio","title":"The State of HTML5 Audio"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/audio.js#audio","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/audio","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"a","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.55,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"<audio>","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"contenteditable":{"title":"contenteditable attribute (basic support)","description":"Method of making any HTML element editable.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#contenteditable","status":"ls","links":[{"url":"http://html5demos.com/contenteditable","title":"Demo page"},{"url":"https://blog.whatwg.org/the-road-to-html-5-contenteditable","title":"WHATWG blog post"},{"url":"http://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-c…","title":"Blog post on usage problems"},{"url":"http://docs.webplatform.org/wiki/html/attributes/contentEditable","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited.","notes_by_num":{},"usage_perc_y":95.03,"usage_perc_a":0.03,"ucprefix":false,"parent":"","keywords":"iscontenteditable","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"dragndrop":{"title":"Drag and Drop","description":"Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#dnd","status":"ls","links":[{"url":"http://html5doctor.com/native-drag-and-drop/","title":"HTML5 Doctor article"},{"url":"http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html","title":"Shopping cart demo"},{"url":"http://html5demos.com/drag","title":"Demo with link blocks"},{"url":"http://docs.webplatform.org/wiki/dom/DragEvent","title":"WebPlatform Docs"},{"url":"https://github.com/MihaiValentin/setDragImage-IE","title":"Polyfill for setDragImage in IE"},{"url":"http://blog.teamtreehouse.com/implementing-native-drag-and-drop","title":"Implementing Native Drag and Drop"},{"url":"https://github.com/timruffles/ios-html5-drag-drop-shim","title":"iOS/Android shim for HTML 5 drag'n'drop"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge setDragImage feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"a #1 #3","6":"a #1 #3","7":"a #1 #3","8":"a #1 #3","9":"a #1 #3","10":"a #2 #3","11":"a #2 #3"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"y","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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 elements 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`."},"usage_perc_y":38.04,"usage_perc_a":6.17,"ucprefix":false,"parent":"","keywords":"draganddrop, draggable","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"internationalization":{"title":"Internationalization API","description":"Locale-sensitive collation (string comparison), number formatting, and date and time formatting.","spec":"http://www.ecma-international.org/ecma-402/1.0/","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Ob…","title":"MDN reference"},{"url":"http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/","title":"The ECMAScript Internationalization API"},{"url":"http://code.tutsplus.com/tutorials/working-with-intl--cms-21082","title":"Working With Intl"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=90906","title":"WebKit tracking bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1215247","title":"Firefox for Android tracking bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":80.97,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"Intl,Collator,NumberFormat,DateTimeFormat","ie_id":"ecmascriptinternationalizationapi","chrome_id":"","firefox_id":"","webkit_id":"specification-internationalization-api"},"queryselector":{"title":"querySelector/querySelectorAll","description":"Method of accessing DOM elements using CSS selectors","spec":"https://dom.spec.whatwg.org/#dom-parentnode-queryselector","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/element.querySelector","title":"MDN article on querySelector"},{"url":"https://developer.mozilla.org/En/DOM/Element.querySelectorAll","title":"MDN article on querySelectorAll"},{"url":"http://cjihrig.com/blog/javascripts-selectors-api/","title":"Blog post"},{"url":"http://docs.webplatform.org/wiki/css/selectors_api/querySelector","title":"WebPlatform Docs"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)."},"usage_perc_y":97.88,"usage_perc_a":0.38,"ucprefix":false,"parent":"","keywords":"query,selectors,selectors api,document.queryselector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"getelementsbyclassname":{"title":"getElementsByClassName","description":"Method of accessing DOM elements by class name","spec":"https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname","status":"ls","links":[{"url":"http://www.quirksmode.org/dom/tests/basics.html#getElementsByClassName","title":"Test page"},{"url":"http://docs.webplatform.org/wiki/dom/HTMLElement/getElementsByClassName","title":"WebPlatform Docs"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.91,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"byclassname","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"forms":{"title":"HTML5 form features","description":"Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads. Previously known as \"Web forms 2.0\".","spec":"https://html.spec.whatwg.org/multipage/forms.html#forms","status":"ls","links":[{"url":"https://miketaylr.com/code/input-type-attr.html","title":"HTML5 inputs and attribute support page"},{"url":"https://github.com/westonruter/webforms2","title":"Cross-browser JS implementation (based on original spec)"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"p","3.2":"p","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"a"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"y"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"notes":"","notes_by_num":{},"usage_perc_y":9.39,"usage_perc_a":84.19,"ucprefix":false,"parent":"","keywords":"input,datepicker","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"html5semantic":{"title":"New semantic elements","description":"HTML5 offers some new elements, primarily for semantic purposes. The elements include: `section`, `article`, `aside`, `header`, `footer`, `nav`, `figure`, `figcaption`, `time`, `mark` & `main`.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#sections","status":"ls","links":[{"url":"https://blog.whatwg.org/supporting-new-elements-in-ie","title":"Workaround for IE"},{"url":"https://blog.whatwg.org/styling-ie-noscript","title":"Alternate workaround"},{"url":"http://oli.jp/2009/html5-structure3/","title":"Article on structural elements"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-html5-ele…","title":"has.js test"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"a #2","10":"a #2","11":"a #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"a #2","5.1":"a #2","6":"a #2","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #2","4.2-4.3":"a #2","5.0-5.1":"a #2","6.0-6.1":"a #2","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a #1","2.2":"a #2","2.3":"a #2","3":"a #2","4":"a #2","4.1":"a #2","4.2-4.3":"a #2","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #2","10":"a #2"},"op_mob":{"10":"a #1","11":"a #2","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"a #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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/HTMLUnknownElemen…". 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."},"usage_perc_y":79.36,"usage_perc_a":18.57,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-line-clamp":{"title":"CSS line-clamp","description":"Proprietary and undocumented 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.","spec":"https://developer.apple.com/library/safari/documentation/AppleApplications/…","status":"unoff","links":[{"url":"http://guerillalabs.co/blog/css-line-clamping.html","title":"Article on cross-browser CSS line clamping"},{"url":"https://css-tricks.com/line-clampin/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"As there is no specification and the property is dependent on an outdated implementation of flexbox (hence `display: -webkit-box`) it is unlikely that other browsers will support the property as-is, although an alternative solution may at some point replace it.\r\n\r\nOlder (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":{},"usage_perc_y":81.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"offline-apps":{"title":"Offline web applications","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. ","spec":"https://html.spec.whatwg.org/multipage/browsers.html#offline","status":"unoff","links":[{"url":"http://www.sitepoint.com/offline-web-application-tutorial/","title":"Sitepoint tutorial"},{"url":"http://diveintohtml5.info/offline.html","title":"Dive Into HTML5 article"},{"url":"http://hacks.mozilla.org/2010/01/offline-web-applications/","title":"Mozilla Hacks article/demo"},{"url":"http://docs.webplatform.org/wiki/apis/appcache/ApplicationCache","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"This technology is being deprecated in favor of [Service Workers](http://caniuse.com/#feat=serviceworkers)","notes_by_num":{},"usage_perc_y":94.3,"usage_perc_a":0.03,"ucprefix":false,"parent":"","keywords":"appcache,applicationcache,app cache,application cache,online","ie_id":"applicationcache","chrome_id":"6192449487634432","firefox_id":"","webkit_id":""},"webworkers":{"title":"Web Workers","description":"Method of running scripts in the background, isolated from the web page","spec":"https://html.spec.whatwg.org/multipage/workers.html","status":"ls","links":[{"url":"https://developer.mozilla.org/En/Using_web_workers","title":"MDN article"},{"url":"http://nerget.com/rayjs-mt/rayjs.html","title":"Web Worker demo"},{"url":"http://code.google.com/p/ie-web-worker/","title":"Polyfill for IE (single threaded)"},{"url":"http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-web-…","title":"Tutorial"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.61,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"fontface":{"title":"@font-face Web fonts","description":"Method of displaying fonts downloaded from websites","spec":"http://www.w3.org/TR/css3-webfonts/","status":"cr","links":[{"url":"http://webfonts.info","title":"News and information site"},{"url":"http://en.wikipedia.org/wiki/Web_typography","title":"Wikipedia"},{"url":"http://www.css3files.com/font/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@font-face","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #2","4.0-4.1":"a #2","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"a","2.3":"a","3":"a","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.53,"usage_perc_a":0.48,"ucprefix":false,"parent":"","keywords":"font face","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"eot":{"title":"EOT - Embedded OpenType fonts","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","spec":"http://www.w3.org/Submission/EOT/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/Embedded_OpenType","title":"Wikipedia"},{"url":"http://www.microsoft.com/typography/web/embedding/default.aspx","title":"Example pages"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Proposal by Microsoft, being considered for W3C standardization.","notes_by_num":{},"usage_perc_y":4.47,"usage_perc_a":0,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"woff":{"title":"WOFF - Web Open Font Format","description":"Compressed TrueType/OpenType font that contains information about the font's source.","spec":"http://www.w3.org/TR/WOFF/","status":"rec","links":[{"url":"http://hacks.mozilla.org/2009/10/woff/","title":"Mozilla hacks blog post"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n #1","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Reported to be supported in some modified versions of the Android 4.0 browser."},"usage_perc_y":93.77,"usage_perc_a":0,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"multibackgrounds":{"title":"CSS3 Multiple backgrounds","description":"Method of using multiple images as a background","spec":"http://www.w3.org/TR/css3-background/","status":"cr","links":[{"url":"http://www.css3.info/preview/multiple-backgrounds/","title":"Demo & information page"},{"url":"http://www.css3files.com/background/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/background-image","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"border-image":{"title":"CSS3 Border images","description":"Method of using images for borders","spec":"https://www.w3.org/TR/css3-background/#border-images","status":"cr","links":[{"url":"http://www.css3files.com/border/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/border-image","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org//docs/Web/CSS/border-image","title":"Border image on MDN"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y #1","13":"y #1","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a x #2 #3","3.6":"a x #2 #3","4":"a x #2 #3","5":"a x #2 #3","6":"a x #2 #3","7":"a x #2 #3","8":"a x #2 #3","9":"a x #2 #3","10":"a x #2 #3","11":"a x #2 #3","12":"a x #2 #3","13":"a x #2 #3","14":"a x #2 #3","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #1 #2 #3 #4","5":"a x #1 #2 #3 #4","6":"a x #1 #2 #3 #4","7":"a x #1 #2 #3 #4","8":"a x #1 #2 #3 #4","9":"a x #1 #2 #3 #4","10":"a x #1 #2 #3 #4","11":"a x #1 #2 #3 #4","12":"a x #1 #2 #3 #4","13":"a x #1 #2 #3 #4","14":"a x #1 #2 #3 #4","15":"a #1 #2 #4","16":"a #1 #2 #4","17":"a #1 #2 #4","18":"a #1 #2 #4","19":"a #1 #2 #4","20":"a #1 #2 #4","21":"a #1 #2 #4","22":"a #1 #2 #4","23":"a #1 #2 #4","24":"a #1 #2 #4","25":"a #1 #2 #4","26":"a #1 #2 #4","27":"a #1 #2 #4","28":"a #1 #2 #4","29":"a #1 #2 #4","30":"a #1 #2","31":"a #1 #2","32":"a #1 #2","33":"a #1 #2","34":"a #1 #2","35":"a #1 #2","36":"a #1 #2","37":"a #1 #2","38":"a #1 #2","39":"a #1 #2","40":"a #1 #2","41":"a #1 #2","42":"a #1 #2","43":"a #1 #2","44":"a #1 #2","45":"a #1 #2","46":"a #1 #2","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"a #1 #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2","60":"a #2"},"safari":{"3.1":"a x #1 #2 #3 #4","3.2":"a x #1 #2 #3 #4","4":"a x #1 #2 #3 #4","5":"a x #1 #2 #3 #4","5.1":"a x #1 #2 #3 #4","6":"a #1 #2 #4","6.1":"a #1 #2 #4","7":"a #1 #2 #4","7.1":"a #1 #2 #4","8":"a #1 #2 #4","9":"a #1 #2 #4","9.1":"y #1","10":"y #1","10.1":"y #1","TP":"y #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"a #2 #3 #4","10.6":"a #2 #3 #4","11":"a x #2 #3 #4","11.1":"a x #2 #3 #4","11.5":"a x #2 #3 #4","11.6":"a x #2 #3 #4","12":"a x #2 #3 #4","12.1":"a x #2 #3 #4","15":"a #1 #2","16":"a #1 #2","17":"a #1 #2","18":"a #1 #2","19":"a #1 #2","20":"a #1 #2","21":"a #1 #2","22":"a #1 #2","23":"a #1 #2","24":"a #1 #2","25":"a #1 #2","26":"a #1 #2","27":"a #1 #2","28":"a #1 #2","29":"a #1 #2","30":"a #1 #2","31":"a #1 #2","32":"a #1 #2","33":"a #1 #2","34":"a #1 #2","35":"a #1 #2","36":"a #1 #2","37":"a #1 #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2"},"ios_saf":{"3.2":"a x #1 #2 #3 #4","4.0-4.1":"a x #1 #2 #3 #4","4.2-4.3":"a x #1 #2 #3 #4","5.0-5.1":"a x #1 #2 #3 #4","6.0-6.1":"a #1 #2 #4","7.0-7.1":"a #1 #2 #4","8":"a #1 #2 #4","8.1-8.4":"a #1 #2 #4","9.0-9.2":"a #1 #2 #4","9.3":"y #1","10.0-10.2":"y #1"},"op_mini":{"all":"a x #2 #3 #4"},"android":{"2.1":"a x #1 #2 #3 #4","2.2":"a x #1 #2 #3 #4","2.3":"a x #1 #2 #3 #4","3":"a x #1 #2 #3 #4","4":"a x #1 #2 #3 #4","4.1":"a x #1 #2 #3 #4","4.2-4.3":"a x #1 #2 #3 #4","4.4":"a #1 #2","4.4.3-4.4.4":"a #1 #2","53":"a #1 #2"},"bb":{"7":"a #1 #2 #3 #4","10":"a #1 #2 #4"},"op_mob":{"10":"n","11":"a x #2 #3 #4","11.1":"a x #2 #3 #4","11.5":"a x #2 #3 #4","12":"a x #2 #3 #4","12.1":"a x #2 #3 #4","37":"a #1 #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"a #1 #2"},"samsung":{"4":"a #1 #2"},"and_qq":{"1.2":"a #2"}},"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](http://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`"},"usage_perc_y":21.89,"usage_perc_a":75.4,"ucprefix":false,"parent":"","keywords":"border-image-source,border-image-slice,border-image-repeat,border-image-width,,border-image-outset","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"background-img-opts":{"title":"CSS3 Background-image options","description":"New properties to affect background images, including background-clip, background-origin and background-size","spec":"http://www.w3.org/TR/css3-background/#backgrounds","status":"cr","links":[{"url":"http://www.standardista.com/css3/css3-background-properties","title":"Detailed compatibility tables and demos"},{"url":"http://www.css3files.com/background/","title":"Information page"},{"url":"https://github.com/louisremi/background-size-polyfill","title":"Polyfill for IE7-8"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #2 #3","3.2":"a #2 #3","4":"a #2 #3","5":"a #2 #3","5.1":"a #2 #3","6":"a #2 #3","6.1":"a #2 #3","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"a x","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a #3","6.0-6.1":"a","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a x","2.2":"a x #3","2.3":"a x #3","3":"a #3","4":"a #3","4.1":"a #3","4.2-4.3":"a #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Safari also supports the unofficial `-webkit-background-clip: text` (only with prefix)","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"},"usage_perc_y":93.56,"usage_perc_a":4.31,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-table":{"title":"CSS Table display","description":"Method of displaying elements as tables, rows, and cells. Includes support for all `display: table-*` properties as well as `display: inline-table`","spec":"http://www.w3.org/TR/CSS21/tables.html","status":"rec","links":[{"url":"http://www.onenaught.com/posts/201/use-css-displaytable-for-layout","title":"Blog post on usage"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Firefox 2 does not support `inline-table`"},"usage_perc_y":98.3,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"display:table,table-cell,table-row,table-layout","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-gencontent":{"title":"CSS Generated content for pseudo-elements","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. ","spec":"http://www.w3.org/TR/CSS21/generate.html","status":"rec","links":[{"url":"http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated…","title":"Guide on usage"},{"url":"https://dev.opera.com/articles/view/css-generated-content-techniques/","title":"Dev.Opera article"},{"url":"http://docs.webplatform.org/wiki/css/generated_and_replaced_content","title":"WebPlatform Docs"}],"categories":["CSS2","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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)."},"usage_perc_y":97.94,"usage_perc_a":0.38,"ucprefix":false,"parent":"","keywords":"before,after","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-fixed":{"title":"CSS position:fixed","description":"Method of keeping an element in a fixed location regardless of scroll position","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://www.css-101.org/fixed-positioning/05.php","title":"Workaround for IE6"},{"url":"http://bradfrostweb.com/blog/mobile/fixed-position/","title":"Article on mobile support"},{"url":"http://docs.webplatform.org/wiki/css/properties/position","title":"WebPlatform Docs"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a #2","2.2":"a #2","2.3":"a #2","3":"y","4":"y #3","4.1":"y #3","4.2-4.3":"y #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in older iOS Safari refers to [buggy behavior](http://remysharp.com/2012/05/24/issues-with-position-fixed-scroll….","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)."},"usage_perc_y":94.74,"usage_perc_a":0.3,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"beacon":{"title":"Beacon API","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.","spec":"http://www.w3.org/TR/beacon/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":73.92,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"beacon","chrome_id":"5517433905348608","firefox_id":"","webkit_id":""},"hashchange":{"title":"Hashchange event","description":"Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) ","spec":"https://html.spec.whatwg.org/multipage/browsers.html#the-hashchangeevent-in…","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/window.onhashchange","title":"MDN article"},{"url":"http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx","title":"MSDN article"},{"url":"http://www.quirksmode.org/dom/events/tests/hashchange.html","title":"Simple demo"},{"url":"http://github.com/3nr1c/jUri.js","title":"Polyfill"},{"url":"http://docs.webplatform.org/wiki/dom/Element/hashchange","title":"WebPlatform Docs"}],"categories":["HTML5","JS API"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"onhashchange,HashChangeEvent","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-sel2":{"title":"CSS 2.1 selectors","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)","spec":"http://www.w3.org/TR/CSS21/selector.html","status":"rec","links":[{"url":"http://www.quirksmode.org/css/contents.html","title":"Detailed support information"},{"url":"http://www.yourhtmlsource.com/stylesheets/advancedselectors.html","title":"Examples of advanced selectors"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"},{"url":"http://docs.webplatform.org/wiki/css/selectors","title":"WebPlatform Docs"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support for `:visited` styling [varies across browsers](http://sixrevisions.com/css/visited-pseudo-class-strange/) due to security concerns.","notes_by_num":{},"usage_perc_y":98.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"attribute selector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-sel3":{"title":"CSS3 selectors","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)","spec":"http://www.w3.org/TR/css3-selectors/","status":"rec","links":[{"url":"http://www.quirksmode.org/css/selectors/","title":"Detailed support information"},{"url":"http://www.css3.info/selectors-test/","title":"Automated CSS3 selector test"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"},{"url":"http://docs.webplatform.org/wiki/css/selectors","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"p","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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]`"},"usage_perc_y":97.89,"usage_perc_a":0.4,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-textshadow":{"title":"CSS3 Text-shadow","description":"Method of applying one or more shadow or blur effects to text","spec":"http://www.w3.org/TR/css-text-decor-3/#text-shadow-property","status":"cr","links":[{"url":"http://hacks.mozilla.org/2009/06/text-shadow/","title":"Mozilla hacks article"},{"url":"https://testdrive-archive.azurewebsites.net/Graphics/hands-on-css3/hands-on…","title":"Live editor"},{"url":"http://www.css3files.com/shadow/#textshadow","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/text-shadow","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #2","3.2":"a #2","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.28,"usage_perc_a":3.36,"ucprefix":false,"parent":"","keywords":"text shadow","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-boxshadow":{"title":"CSS3 Box-shadow","description":"Method of displaying an inner or outer shadow effect to elements","spec":"http://www.w3.org/TR/css3-background/#box-shadow","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/-moz-box-shadow","title":"MDN article"},{"url":"http://westciv.com/tools/boxshadows/index.html","title":"Live editor"},{"url":"http://tests.themasta.com/blogstuff/boxshadowdemo.html","title":"Demo of various effects"},{"url":"http://www.css3files.com/shadow/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/box-shadow","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a x #1","3.2":"a x #1","4":"a x #1","5":"y x","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y x","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.54,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"box-shadows,boxshadows,box shadow,shaow","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-colors":{"title":"CSS3 Colors","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().","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"https://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-tra…","title":"Dev.Opera article"},{"url":"http://www.css3files.com/color/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/color#RGBA_Notation","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.91,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"rgb,hsl,rgba,hsla","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-boxsizing":{"title":"CSS3 Box-sizing","description":"Method of specifying whether or not an element's borders and padding should be included in size units","spec":"http://www.w3.org/TR/css3-ui/#box-sizing","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/Box-sizing","title":"MDN article"},{"url":"http://www.456bereastreet.com/archive/201104/controlling_width_with_css3_bo…","title":"Blog post"},{"url":"https://github.com/Schepp/box-sizing-polyfill","title":"Polyfill for IE"},{"url":"http://css-tricks.com/box-sizing/","title":"CSS Tricks"},{"url":"http://docs.webplatform.org/wiki/css/properties/box-sizing","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y x","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Firefox currently also supports the `padding-box` in addition to `content-box` and `border-box`, though this value has been removed from the specification.","notes_by_num":{},"usage_perc_y":98.31,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"border-box,content-box","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-mediaqueries":{"title":"CSS3 Media Queries","description":"Method of applying styles based on media information. Includes things like page and device dimensions","spec":"http://www.w3.org/TR/css3-mediaqueries/","status":"rec","links":[{"url":"http://ie.microsoft.com/testdrive/HTML5/85CSS3_MediaQueries/","title":"IE demo page with information"},{"url":"http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-quer…","title":"Media Queries tutorial"},{"url":"https://github.com/scottjehl/Respond","title":"Polyfill for IE"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@media","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"p","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #1 #2","3.2":"a #1 #2","4":"y #1","5":"y #1","5.1":"y #1","6":"y #1","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y #1","4.0-4.1":"y #1","4.2-4.3":"y #1","5.0-5.1":"y #1","6.0-6.1":"y #1","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y #1","2.2":"y #1","2.3":"y #1","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not support nested media queries","2":"Partial support refers to only acknowledging different media rules on page reload"},"usage_perc_y":97.88,"usage_perc_a":0.01,"ucprefix":false,"parent":"","keywords":"@media","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"multicolumn":{"title":"CSS3 Multiple column layout","description":"Method of flowing information in multiple columns","spec":"http://www.w3.org/TR/css3-multicol/","status":"cr","links":[{"url":"https://dev.opera.com/articles/view/css3-multi-column-layout/","title":"Dev.Opera article"},{"url":"http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/an-introduction-t…","title":"Introduction page"},{"url":"http://docs.webplatform.org/wiki/css/properties/column-width","title":"WebPlatform Docs"},{"url":"https://github.com/hamsterbacke23/multicolumn-polyfill","title":"Polyfill"},{"url":"https://www.chromestatus.com/feature/6298909664083968","title":"Chrome platform status for CSS column-fill"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x #1","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"a x #1 #2","5":"a x #1 #2","6":"a x #1 #2","7":"a x #1 #2","8":"a x #1 #2","9":"a x #1 #2","10":"a x #1 #2","11":"a x #1 #2","12":"a x #1 #2","13":"a x #1 #2","14":"a x #1 #2","15":"a x #1 #2","16":"a x #1 #2","17":"a x #1 #2","18":"a x #1 #2","19":"a x #1 #2","20":"a x #1 #2","21":"a x #1 #2","22":"a x #1 #2","23":"a x #1 #2","24":"a x #1 #2","25":"a x #1 #2","26":"a x #1 #2","27":"a x #1 #2","28":"a x #1 #2","29":"a x #1 #2","30":"a x #1 #2","31":"a x #1 #2","32":"a x #1 #2","33":"a x #1 #2","34":"a x #1 #2","35":"a x #1 #2","36":"a x #1 #2","37":"a x #1 #2","38":"a x #1 #2","39":"a x #1 #2","40":"a x #1 #2","41":"a x #1 #2","42":"a x #1 #2","43":"a x #1 #2","44":"a x #1 #2","45":"a x #1 #2","46":"a x #1 #2","47":"a x #1 #2","48":"a x #1 #2","49":"a x #1 #2","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"a x #1 #2","3.2":"a x #1 #2","4":"a x #1 #2","5":"a x #1 #2","5.1":"a x #1 #2","6":"a x #1 #2","6.1":"a x #1 #2","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"a x #1 #2","16":"a x #1 #2","17":"a x #1 #2","18":"a x #1 #2","19":"a x #1 #2","20":"a x #1 #2","21":"a x #1 #2","22":"a x #1 #2","23":"a x #1 #2","24":"a x #1 #2","25":"a x #1 #2","26":"a x #1 #2","27":"a x #1 #2","28":"a x #1 #2","29":"a x #1 #2","30":"a x #1 #2","31":"a x #1 #2","32":"a x #1 #2","33":"a x #1 #2","34":"a x #1 #2","35":"a x #1 #2","36":"a x #1 #2","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"a x #1 #2","4.0-4.1":"a x #1 #2","4.2-4.3":"a x #1 #2","5.0-5.1":"a x #1 #2","6.0-6.1":"a x #1 #2","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"y"},"android":{"2.1":"a x #1 #2","2.2":"a x #1 #2","2.3":"a x #1 #2","3":"a x #1 #2","4":"a x #1 #2","4.1":"a x #1 #2","4.2-4.3":"a x #1 #2","4.4":"a x #1 #2","4.4.3-4.4.4":"a x #1 #2","53":"a x #1"},"bb":{"7":"a x #1 #2","10":"a x #1 #2"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a x #1 #2"},"samsung":{"4":"a x #1 #2"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Partial support refers to not supporting the `break-before`, `break-after`, `break-inside` properties. WebKit- and Blink-based browsers do have equivalent support for the non-standard `-webkit-column-break-*` properties to accomplish the same result (but only the `auto` and `always` values). Firefox does not support `break-*`.","2":"Partial support refers to not supporting the `column-fill` property."},"usage_perc_y":9.35,"usage_perc_a":88.28,"ucprefix":false,"parent":"","keywords":"column-count,column-width,column-gap,column-rule,column-span,column-fill","ie_id":"multicolumnfullsupport","chrome_id":"6526151266664448,5630943616303104","firefox_id":"","webkit_id":""},"border-radius":{"title":"CSS3 Border-radius (rounded corners)","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`)","spec":"http://www.w3.org/TR/css3-background/#the-border-radius","status":"cr","links":[{"url":"http://border-radius.com","title":"Border-radius CSS Generator"},{"url":"http://muddledramblings.com/table-of-css3-border-radius-compliance","title":"Detailed compliance table"},{"url":"http://www.css3files.com/border/#borderradius","title":"Information page"},{"url":"http://css3pie.com/","title":"Polyfill which includes border-radius"},{"url":"http://docs.webplatform.org/wiki/css/properties/border-radius","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x #2","3":"y x #2","3.5":"y x #2","3.6":"y x #2","4":"y #2","5":"y #2","6":"y #2","7":"y #2","8":"y #2","9":"y #2","10":"y #2","11":"y #2","12":"y #2","13":"y #2","14":"y #2","15":"y #2","16":"y #2","17":"y #2","18":"y #2","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y #2","26":"y #2","27":"y #2","28":"y #2","29":"y #2","30":"y #2","31":"y #2","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y #2","37":"y #2","38":"y #2","39":"y #2","40":"y #2","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y","5.1":"y #1","6":"y #1","6.1":"y #1","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Safari 6.1 and earlier did not apply `border-radius` correctly to image borders: http://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)"},"usage_perc_y":94.59,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"roundedcorners, border radius,-moz-border-radius","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"transforms2d":{"title":"CSS3 2D Transforms","description":"Method of transforming an element including rotating, scaling, etc. Includes support for `transform` as well as `transform-origin` properties.","spec":"http://www.w3.org/TR/css3-2d-transforms/","status":"wd","links":[{"url":"http://www.westciv.com/tools/transforms/","title":"Live editor"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/transform","title":"MDN article"},{"url":"http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/","title":"Workaround script for IE"},{"url":"http://www.css3files.com/transform/","title":"Information page"},{"url":"http://www.useragentman.com/IETransformsTranslator/","title":"Converter for IE"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/css/transforms/transform","title":"WebPlatform Docs"},{"url":"https://developer.microsoft.com/en-us/microsoft-edge/platform/status/suppor…","title":"IE platform status (SVG)"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y x #1","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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)"},"usage_perc_y":94.56,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"transformation,translate,translatex,translatey,translatez,transform3d,rotation,rotate,scale,skew,css-transforms,transform-origin,transform:rotate,transform:scale,transform:skew","ie_id":"transforms","chrome_id":"6437640580628480","firefox_id":"","webkit_id":""},"use-strict":{"title":"ECMAScript 5 Strict Mode","description":"Method of placing code in a \"strict\" operating context.","spec":"http://www.ecma-international.org/ecma-262/5.1/#sec-14.1","status":"other","links":[{"url":"http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/","title":"Information page"},{"url":"http://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/","title":"Article with test suite"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"a #1","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in older Safari refers to strict mode still accepting a lot of JS that should be considered invalid."},"usage_perc_y":97.38,"usage_perc_a":0.09,"ucprefix":false,"parent":"es5","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"devicepixelratio":{"title":"Window.devicePixelRatio","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.","spec":"http://dev.w3.org/csswg/cssom-view/#dom-window-devicepixelratio","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio","title":"MDN"}],"categories":["CSS","DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":97.11,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"device,pixel,ratio,size","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"transforms3d":{"title":"CSS3 3D Transforms","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.","spec":"http://www.w3.org/TR/css3-3d-transforms/","status":"wd","links":[{"url":"http://css3.bradshawenterprises.com/flip/","title":"Multi-browser demo"},{"url":"http://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/","title":"Mozilla hacks article"},{"url":"http://thewebrocks.com/demos/3D-css-tester/","title":"3D CSS Tester"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/css/transforms/transform","title":"WebPlatform Docs"},{"url":"http://desandro.github.io/3dtransforms/","title":"Intro to CSS 3D transforms"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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.…. This prevents nesting 3D transformed elements.","2":"Safari 9 is reported to still require a prefix for the related `backface-visibility` property."},"usage_perc_y":89.79,"usage_perc_a":4.27,"ucprefix":false,"parent":"","keywords":"css 3d,3dtransforms,translate3d,backface visibility,perspective,transform-origin,transform-style","ie_id":"transforms,csstransformspreserve3d","chrome_id":"6437640580628480","firefox_id":"","webkit_id":""},"sharedworkers":{"title":"Shared Web Workers","description":"Method of allowing multiple scripts to communicate with a single web worker.","spec":"https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduc…","status":"ls","links":[{"url":"http://www.sitepoint.com/javascript-shared-web-workers-html5/","title":"Sitepoint article"},{"url":"http://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared…","title":"Blog post"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":48,"usage_perc_a":0,"ucprefix":false,"parent":"webworkers","keywords":"shared worker","ie_id":"sharedwebworkers","chrome_id":"","firefox_id":"shared-worker","webkit_id":"feature-shared-web-workers"},"css-hyphens":{"title":"CSS Hyphenation","description":"Method of controlling when words at the end of lines should be hyphenated using the \"hyphens\" property.","spec":"http://www.w3.org/TR/css3-text/#hyphenation","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/hyphens","title":"MDN article"},{"url":"http://blog.fontdeck.com/post/9037028497/hyphens","title":"Blog post"},{"url":"http://docs.webplatform.org/wiki/css/properties/hyphens","title":"WebPlatform Docs"},{"url":"https://crbug.com/605840","title":"Chrome bug for implementing hyphenation"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x"},"edge":{"12":"y x","13":"y x","14":"y x","15":"y x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"a #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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.h… on the HTML element to enable hyphenation support and improve accessibility.","notes_by_num":{"1":"Only supports the \"auto\" value [on Mac for now](https://crrev.com/ed7e106e0e48b3afb160a5bdbb37649e307d2b05)."},"usage_perc_y":24.27,"usage_perc_a":58.74,"ucprefix":false,"parent":"","keywords":"hyphen,shy","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-transitions":{"title":"CSS3 Transitions","description":"Simple method of animating certain properties of an element, with ability to define property, duration, delay and timing function. ","spec":"http://www.w3.org/TR/css3-transitions/","status":"wd","links":[{"url":"http://www.webdesignerdepot.com/2010/01/css-transitions-101/","title":"Article on usage"},{"url":"http://www.css3files.com/transition/","title":"Information page"},{"url":"http://www.the-art-of-web.com/css/timing-function/","title":"Examples on timing functions"},{"url":"http://www.opera.com/docs/specs/presto2.12/css/transitions/","title":"Animation of property types support in Opera"},{"url":"http://docs.webplatform.org/wiki/css/properties/transition","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y x","10":"y"},"op_mob":{"10":"y x","11":"y x","11.1":"y x","11.5":"y x","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support listed is for `transition` properties as well as the `transitionend` event. The prefixed name in WebKit browsers is `webkitTransitionEnd`","notes_by_num":{},"usage_perc_y":94.29,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"css transition,transitionend,transition-property,transition-duration,transition-timing-function,transition-delay","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"font-feature":{"title":"CSS font-feature-settings","description":"Method of applying advanced typographic and language-specific font features to supported OpenType fonts.","spec":"http://w3.org/TR/css3-fonts/#font-rend-props","status":"cr","links":[{"url":"http://ie.microsoft.com/testdrive/Graphics/opentype/","title":"Demo pages (IE/Firefox only)"},{"url":"http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/","title":"Mozilla hacks article"},{"url":"http://html5accessibility.com/","title":"Detailed tables on accessability support"},{"url":"http://docs.webplatform.org/wiki/css/properties/font-feature-settings","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings","title":"Mozilla Developer Network"},{"url":"https://www.microsoft.com/typography/otspec/featuretags.htm","title":"OpenType layout feature tag registry"},{"url":"http://help.typekit.com/customer/portal/articles/1789736-syntax-for-opentyp…","title":"Syntax for OpenType features in CSS (Adobe Typekit Help)"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y"}},"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: http://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."},"usage_perc_y":91.68,"usage_perc_a":0.3,"ucprefix":false,"parent":"","keywords":"font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-animation":{"title":"CSS Animation","description":"Complex method of animating certain properties of an element","spec":"http://www.w3.org/TR/css3-animations/","status":"wd","links":[{"url":"http://robertnyman.com/2010/05/06/css3-animations/","title":"Blog post on usage"},{"url":"http://www.css3files.com/animation/","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/animations","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y x","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{"1":"Partial support in Android browser refers to buggy behavior in different scenarios."},"usage_perc_y":94.24,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"animations,css-animations,animation-name,animation-duration,animation-delay,animation-timing-function,@keyframes,animationstart,animationend,animationiteration,css3 animation","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-gradients":{"title":"CSS Gradients","description":"Method of defining a linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/","status":"cr","links":[{"url":"http://www.colorzilla.com/gradient-editor/","title":"Cross-browser editor"},{"url":"http://www.css3files.com/gradient/","title":"Information page"},{"url":"http://css3pie.com/","title":"Tool to emulate support in IE"},{"url":"http://docs.webplatform.org/wiki/css/functions/linear-gradient","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"a x","5":"a x","5.1":"y x","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x #1","11.5":"a x #1","11.6":"y x","12":"y x","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a x","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"a x #1","11.5":"a x #1","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":94.14,"usage_perc_a":0.14,"ucprefix":false,"parent":"","keywords":"linear,linear-gradient,gradiant","ie_id":"gradients","chrome_id":"5785905063264256","firefox_id":"","webkit_id":""},"css-canvas":{"title":"CSS Canvas Drawings","description":"Method of using HTML5 Canvas as a background image. Not currently part of any specification.","spec":"http://webkit.org/blog/176/css-canvas-drawing/","status":"unoff","links":[{"url":"http://webkit.org/blog/176/css-canvas-drawing/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"n"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"A similar effect can be achieved in Firefox 4+ using the -moz-element() background property","notes_by_num":{},"usage_perc_y":29.29,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-reflections":{"title":"CSS Reflections","description":"Method of displaying a reflection of an element","spec":"http://webkit.org/blog/182/css-reflections/","status":"unoff","links":[{"url":"http://webkit.org/blog/182/css-reflections/","title":"Webkit blog post"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"Similar effect can be achieved in Firefox 4+ using the -moz-element() background property","notes_by_num":{},"usage_perc_y":72.31,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"box-reflect","ie_id":"","chrome_id":"5627300510957568","firefox_id":"","webkit_id":""},"css-masks":{"title":"CSS Masks","description":"Method of displaying part of an element, using a selected image as a mask","spec":"http://www.w3.org/TR/css-masking-1/","status":"cr","links":[{"url":"http://docs.webplatform.org/wiki/css/properties/mask","title":"WebPlatform Docs"},{"url":"http://www.html5rocks.com/en/tutorials/masking/adobe/","title":"HTML5 Rocks article"},{"url":"http://thenittygritty.co/css-masking","title":"Detailed blog post"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1224422","title":"Firefox implementation bug"},{"url":"http://lab.iamvdo.me/css-svg-masks","title":"Visual test cases"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"a #2","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"a x #1","5":"a x #1","5.1":"a x #1","6":"a x #1","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a x #1","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"a x #1","4.2-4.3":"a x #1","5.0-5.1":"a x #1","6.0-6.1":"a x #1","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1 #3","2.2":"a x #1 #3","2.3":"a x #1 #3","3":"a x #1 #3","4":"a x #1 #3","4.1":"a x #1 #3","4.2-4.3":"a x #1 #3","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"a x #1","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"a #2"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","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"},"usage_perc_y":0.01,"usage_perc_a":88.22,"ucprefix":false,"parent":"","keywords":"clip,clip-path,clip-rule,mask,mask-border,mask-clip,mask-image,mask-mode,mask-type","ie_id":"masks","chrome_id":"5381559662149632","firefox_id":"","webkit_id":""},"console-basic":{"title":"Basic console logging functions","description":"Method of outputting data to the browser's console, intended for development purposes.","spec":"https://console.spec.whatwg.org/","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Console","title":"MDN article"},{"url":"https://developer.chrome.com/devtools/docs/console-api","title":"Chrome console reference"},{"url":"https://developer.apple.com/library/mac/documentation/AppleApplications/Con…","title":"Safari console reference"},{"url":"https://msdn.microsoft.com/en-us/library/hh772169","title":"Edge/Internet Explorer console reference"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y #3","7.0-7.1":"y #3","8":"y #3","8.1-8.4":"y #3","9.0-9.2":"y #3","9.3":"y #3","10.0-10.2":"y #3"},"op_mini":{"all":"y #6"},"android":{"2.1":"y #4","2.2":"y #4","2.3":"y #4","3":"y #4","4":"y #4","4.1":"y #4","4.2-4.3":"y #4","4.4":"y #4","4.4.3-4.4.4":"y #4","53":"y #4"},"bb":{"7":"n #2","10":"n #2"},"op_mob":{"10":"n","11":"n #2","11.1":"n #2","11.5":"n #2","12":"n #2","12.1":"n #2","37":"n #2"},"and_chr":{"56":"y #4"},"and_ff":{"51":"y #5"},"ie_mob":{"10":"n #2","11":"n #2"},"and_uc":{"11":"n #2"},"samsung":{"4":"y #4"},"and_qq":{"1.2":"y"}},"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](http://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/Deb…","6":"See [this article](https://dev.opera.com/articles/opera-mini-and-javascript/) for details on how to see console logging in Opera Mini"},"usage_perc_y":87.83,"usage_perc_a":0.62,"ucprefix":false,"parent":"","keywords":"console.log,console.info,console.warn,console.error,window.console","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg":{"title":"SVG (basic support)","description":"Method of displaying basic Vector Graphics features using the embed or object elements. Refers to the SVG 1.1 spec.","spec":"http://www.w3.org/TR/SVG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Scalable_Vector_Graphics","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-…","title":"A List Apart article"},{"url":"http://svg-wow.org/","title":"SVG showcase site"},{"url":"http://code.google.com/p/svgweb/","title":"SVG Web: Flash-based polyfill"},{"url":"https://github.com/SVG-Edit/svgedit","title":"Web-based SVG editor"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg","title":"has.js test"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y #2","10":"y #2","11":"y #2"},"edge":{"12":"y #2","13":"y #2","14":"y #2","15":"y #2"},"firefox":{"2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #2","11":"y #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in Android 3 & 4 refers to not supporting masking.","2":"IE9-11 desktop & mobile don't properly scale SVG files. [Adding height, width, viewBox, and CSS rules](http://codepen.io/tomByrer/pen/qEBbzw?editors=110) seem to be the best workaround."},"usage_perc_y":97.23,"usage_perc_a":0.71,"ucprefix":false,"parent":"","keywords":"rect,circle,ellipse,line,polyline,polygon,defs,symbol,use,tspan,tref,textpath,stroke-dasharray,stroke-dashoffset","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-css":{"title":"SVG in CSS backgrounds","description":"Method of using SVG images as CSS backgrounds","spec":"http://www.w3.org/TR/css3-background/#background-image","status":"cr","links":[{"url":"http://www.sitepoint.com/a-farewell-to-css3-gradients/","title":"Tutorial for advanced effects"}],"categories":["CSS3","SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"a #1","4":"a #1","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":94.34,"usage_perc_a":3.52,"ucprefix":false,"parent":"","keywords":"svg-in-css,svgincss,css-svg","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-smil":{"title":"SVG SMIL animation","description":"Method of using animation elements to animate SVG images","spec":"http://www.w3.org/TR/SVG/animate.html","status":"rec","links":[{"url":"http://svg-wow.org/blog/category/animation/","title":"Examples on SVG WOW"},{"url":"https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL","title":"MDN article"},{"url":"http://leunen.me/fakesmile/","title":"JS library to support SMIL in SVG"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg-smil","title":"has.js test"},{"url":"https://github.com/madsgraphics/SVGEventListener","title":"Polyfill for SMIL animate events on SVG"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2","56":"y #2","57":"y #2","58":"y #2","59":"y #2","60":"y #2"},"safari":{"3.1":"p","3.2":"p","4":"a #1","5":"a #1","5.1":"a #1","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y #2","37":"y #2","38":"y #2","39":"y #2","40":"y #2","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y #2"}},"notes":"","notes_by_num":{"1":"Partial support in older Safari versions refers to not working in HTML files or CSS background images.","2":"As of Chrome 45 & Opera 32 SMIL is deprecated and usage will result in a warning in the console. Support is expected to be dropped in some future version."},"usage_perc_y":88.26,"usage_perc_a":0.1,"ucprefix":false,"parent":"","keywords":"svg animation","ie_id":"svgsmilanimation","chrome_id":"","firefox_id":"","webkit_id":""},"svg-fonts":{"title":"SVG fonts","description":"Method of using fonts defined as SVG shapes. Removed from [SVG 2.0](http://www.w3.org/TR/SVG2/changes.html#fonts) and considered as a deprecated feature with support being removed from browsers.","spec":"http://www.w3.org/TR/SVG/fonts.html","status":"unoff","links":[{"url":"http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different","title":"Blog post"},{"url":"http://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safar…","title":"Blog post on usage for iPad"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"n #1","39":"n #1","40":"n #1","41":"n #1","42":"n #1","43":"n #1","44":"n #1","45":"n #1","46":"n #1","47":"n #1","48":"n #1","49":"n #1","50":"n #1","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"n #1","33":"n #1","34":"n #1","35":"n #1","36":"n #1","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"n"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"n #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":28.41,"usage_perc_a":0,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"5930075908210688","firefox_id":"","webkit_id":""},"svg-filters":{"title":"SVG filters","description":"Method of using photoshop-like effects on SVG objects including blurring and color manipulation.","spec":"http://www.w3.org/TR/SVG/filters.html","status":"rec","links":[{"url":"http://electricbeach.org/?p=950","title":"Experiments with filter effects"},{"url":"http://svg-wow.org/blog/category/filters/","title":"SVG filter demos"},{"url":"http://docs.webplatform.org/wiki/svg/elements/filter","title":"WebPlatform Docs"},{"url":"http://jorgeatgu.github.io/svg-filters/","title":"SVG Filter effects"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"a","6":"a","7":"a","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":96.81,"usage_perc_a":0.02,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-html":{"title":"SVG effects for HTML","description":"Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element","spec":"http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement","status":"rec","links":[{"url":"https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVG","title":"MDN Tutorial"},{"url":"https://developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content","title":"MDN Reference page"},{"url":"http://www.w3.org/TR/filter-effects/","title":"Filter Effects draft"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"notes":"Partial support refers to lack of filter support or buggy result from effects. A [CSS Filter Effects](http://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://developer.microsoft.com/en-us/microsoft-edge/platform/issue…"},"usage_perc_y":6.68,"usage_perc_a":77.49,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"svg-html5":{"title":"Inline SVG in HTML5","description":"Method of using SVG tags directly in HTML documents. Requires HTML5 parser.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0","status":"ls","links":[{"url":"http://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-spee…","title":"Mozilla Hacks blog post"},{"url":"http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?ur…","title":"Test suite"}],"categories":["HTML5","SVG"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y #1","6":"y #1","6.1":"y #1","7":"y #1","7.1":"y #1","8":"y #1","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y #1","6.0-6.1":"y #1","7.0-7.1":"y #1","8":"y #1","8.1-8.4":"y #1","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y #1","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not support CSS transforms on SVG elements (transform attribute can be used instead)"},"usage_perc_y":97.73,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"canvas":{"title":"Canvas (basic support)","description":"Method of generating fast, dynamic graphics using JavaScript.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element","status":"ls","links":[{"url":"https://developer.mozilla.org/en/Canvas_tutorial","title":"Tutorial by Mozilla"},{"url":"http://glimr.rubyforge.org/cake/canvas.html","title":"Animation kit"},{"url":"http://diveintohtml5.info/canvas.html","title":"Another tutorial"},{"url":"http://explorercanvas.googlecode.com/","title":"Implementation for Internet Explorer"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas","title":"has.js test"},{"url":"https://skilled.co/html-canvas/","title":"Canvas Tutorial & Cheat Sheet"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #2"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"For screen readers, IE, Chrome & Firefox support the [accessible canvas element sub-DOM](http://www.paciellogroup.com/blog/2012/06/html5-canvas-accessibili… & 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."},"usage_perc_y":94.58,"usage_perc_a":3.36,"ucprefix":false,"parent":"","keywords":"toDataURL()","ie_id":"canvas","chrome_id":"5100084685438976","firefox_id":"","webkit_id":""},"canvas-text":{"title":"Text API for Canvas","description":"Method of displaying text on Canvas elements","spec":"https://html.spec.whatwg.org/multipage/scripting.html#drawing-text-to-the-b…","status":"ls","links":[{"url":"https://developer.mozilla.org/en/Drawing_text_using_a_canvas#Additional_exa…","title":"Examples by Mozilla"},{"url":"http://code.google.com/p/canvas-text/","title":"Support library"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas-t…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/canvas/CanvasRenderingContext2D/fillT…","title":"WebPlatform Docs"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.55,"usage_perc_a":0,"ucprefix":false,"parent":"canvas","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"namevalue-storage":{"title":"Web Storage - name/value pairs","description":"Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).","spec":"https://html.spec.whatwg.org/multipage/webstorage.html#storage","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API","title":"MDN article"},{"url":"http://code.google.com/p/sessionstorage/","title":"Support library"},{"url":"http://html5demos.com/storage","title":"Simple demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-l…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/web-storage/Storage/localStorage","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.93,"usage_perc_a":0.05,"ucprefix":false,"parent":"","keywords":"webstorage,local storage","ie_id":"webstorage","chrome_id":"5345825534246912","firefox_id":"","webkit_id":""},"sql-storage":{"title":"Web SQL Database","description":"Method of storing data client-side, allows Sqlite database queries for access and manipulation","spec":"http://www.w3.org/TR/webdatabase/","status":"unoff","links":[{"url":"http://html5doctor.com/introducing-web-sql-databases/","title":"HTML5 Doctor article"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-s…","title":"has.js test"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"The Web SQL Database specification is no longer being maintained and support may be dropped in future versions.","notes_by_num":{},"usage_perc_y":81.67,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"db-storage,websql","ie_id":"websqldatabase","chrome_id":"6330987952734208","firefox_id":"","webkit_id":""},"indexeddb":{"title":"IndexedDB","description":"Method of storing data client-side, allows indexed database queries.","spec":"http://www.w3.org/TR/IndexedDB/","status":"rec","links":[{"url":"http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/","title":"Mozilla Hacks article"},{"url":"https://github.com/axemclion/IndexedDBShim","title":"Polyfill for browsers supporting WebSQL"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-i…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/indexedDB","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"n","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"n","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"p"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in IE 10 & 11 refers to a number of subfeatures [not being supported](http://codepen.io/cemerick/pen/Itymi).","2":"Partial support in Safari & iOS 8 & 9 refers to [seriously buggy behavior](http://www.raymondcamden.com/2014/09/25/IndexedDB-on-iOS-8-Broken… as well as complete lack of support in WebViews."},"usage_perc_y":75.6,"usage_perc_a":8.09,"ucprefix":false,"parent":"","keywords":"indexdb","ie_id":"indexeddb","chrome_id":"6507459568992256","firefox_id":"indexeddb","webkit_id":"specification-indexed-database"},"online-status":{"title":"Online/offline status","description":"Events to indicate when the user's connected (`online` and `offline` events) and the `navigator.onLine` property to see current status.","spec":"https://html.spec.whatwg.org/multipage/browsers.html#browser-state","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine.onLine#Spe…","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #2","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"a #3","16":"a #3","17":"a #3","18":"a #3","19":"a #3","20":"a #3","21":"a #3","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"a","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{"0":"Safari 7.0 supports only the event listener on `window`, and not on `document.body`","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."},"usage_perc_y":84.55,"usage_perc_a":10.25,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"eventsource":{"title":"Server-sent events","description":"Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)","spec":"https://html.spec.whatwg.org/multipage/comms.html#server-sent-events","status":"ls","links":[{"url":"http://www.html5rocks.com/tutorials/eventsource/basics/","title":"HTML5 Rocks tutorial"},{"url":"http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-wit…","title":"Blog post with demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-e…","title":"has.js test"},{"url":"https://github.com/Yaffle/EventSource","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":87.59,"usage_perc_a":0.05,"ucprefix":false,"parent":"","keywords":"serversent,s-sent-events","ie_id":"serversenteventseventsource","chrome_id":"5311740673785856","firefox_id":"","webkit_id":""},"x-doc-messaging":{"title":"Cross-document messaging","description":"Method of sending information from a page on one domain to a page on a different one (using postMessage)","spec":"https://html.spec.whatwg.org/multipage/comms.html#crossDocumentMessages","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/window.postMessage","title":"MDN article"},{"url":"http://html5demos.com/postmessage2","title":"Simple demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-c…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/web-messaging/MessagePort/postMessage","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #2","11":"a #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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](http://stackoverflow.com/questions/16226924/is-cross-origin-pos…."},"usage_perc_y":93.39,"usage_perc_a":4.89,"ucprefix":false,"parent":"","keywords":"","ie_id":"postmessage","chrome_id":"4786174115708928","firefox_id":"","webkit_id":""},"sni":{"title":"Server Name Indication","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.","spec":"https://tools.ietf.org/html/rfc6066","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/Server_Name_Indication","title":"Wikipedia"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Only supported on Windows Vista or above (not Windows XP)"},"usage_perc_y":97.88,"usage_perc_a":0.4,"ucprefix":false,"parent":"","keywords":"sni","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"datauri":{"title":"Data URIs","description":"Method of embedding images and other files in webpages as a string of text, generally using base64 encoding.","spec":"https://tools.ietf.org/html/rfc2397","status":"other","links":[{"url":"http://css-tricks.com/data-uris/","title":"Information page"},{"url":"http://en.wikipedia.org/wiki/data_URI_scheme","title":"Wikipedia"},{"url":"http://www.websiteoptimization.com/speed/tweak/inline-images/","title":"Data URL converter"},{"url":"http://klevjers.com/papers/phishing.pdf","title":"Information on security issues"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #2","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":91.74,"usage_perc_a":6.58,"ucprefix":false,"parent":"","keywords":"data url,datauris,data uri,dataurl,dataurls,base64","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"wav":{"title":"Wav audio format","description":"Waveform Audio File Format, aka WAV or WAVE, a typically uncompressed audio format. ","spec":"http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/WAVE/WAVE.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/WAV","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{},"usage_perc_y":90.02,"usage_perc_a":0,"ucprefix":false,"parent":"audio","keywords":"","ie_id":"wavaudiosupport","chrome_id":"","firefox_id":"","webkit_id":""},"mathml":{"title":"MathML","description":"Special tags that allow mathematical formulas and notations to be written on web pages.","spec":"http://www.w3.org/TR/MathML/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/MathML","title":"Wikipedia"},{"url":"http://www.mozilla.org/projects/mathml/demo/","title":"MathML demos"},{"url":"http://www.mathjax.org","title":"Cross-browser support script"},{"url":"https://developer.mozilla.org/en/MathML/Element","title":"MDN element reference"},{"url":"https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/MathML_Tort…","title":"MathML torture test"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"y #1","3":"y #1","3.5":"y #1","3.6":"y #1","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"y","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p","56":"p","57":"p","58":"p","59":"p","60":"p"},"safari":{"3.1":"a #2","3.2":"a #2","4":"a #2","5":"a #2","5.1":"a #2","6":"a #2","6.1":"a #2","7":"a #2","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"p"},"and_chr":{"56":"p"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a"},"samsung":{"4":"p"},"and_qq":{"1.2":"p"}},"notes":"Opera's support is limited to a CSS profile of MathML. Support was added in Chrome 24, but 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"},"usage_perc_y":18.15,"usage_perc_a":10.2,"ucprefix":false,"parent":"","keywords":"","ie_id":"mathml","chrome_id":"5240822173794304","firefox_id":"","webkit_id":""},"css-featurequeries":{"title":"CSS Feature Queries","description":"CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule.","spec":"http://www.w3.org/TR/css3-conditional/#at-supports","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@supports","title":"MDN Article"},{"url":"http://mcc.id.au/blog/2012/08/supports","title":"@supports in Firefox"},{"url":"http://dabblet.com/gist/3895764","title":"Test case"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@supports","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See also the [CSS.supports() DOM API](#feat=css-supports-api)","notes_by_num":{},"usage_perc_y":81.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"supports,conditional","ie_id":"conditionalrules","chrome_id":"4993981813358592","firefox_id":"","webkit_id":""},"xhtml":{"title":"XHTML served as application/xhtml+xml","description":"A strict form of HTML, and allows embedding of other XML languages","spec":"https://html.spec.whatwg.org/multipage/xhtml.html#parsing-xhtml-documents","status":"ls","links":[{"url":"http://en.wikipedia.org/wiki/XHTML","title":"Wikipedia"},{"url":"http://www.xmlplease.com/xhtml/xhtml5polyglot/","title":"Information on XHTML5"},{"url":"http://docs.webplatform.org/wiki/concepts/internet_and_web/the_web_standard…","title":"WebPlatform Docs"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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_versu…) served as text/html on the web.","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"xhtml+xml","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"xhtmlsmil":{"title":"XHTML+SMIL animation","description":"Method of using SMIL animation in web pages","spec":"http://www.w3.org/TR/XHTMLplusSMIL/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/XHTML%2BSMIL","title":"Wikipedia"},{"url":"http://leunen.me/fakesmile/","title":"JS library to support XHTML+SMIL"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"a","7":"a","8":"a","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p","56":"p","57":"p","58":"p","59":"p","60":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"p"},"and_chr":{"56":"p"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"p"},"samsung":{"4":"p"},"and_qq":{"1.2":"p"}},"notes":"Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0.42,"ucprefix":false,"parent":"xhtml","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"wai-aria":{"title":"WAI-ARIA Accessibility features","description":"Method of providing ways for people with disabilities to use dynamic web content and web applications.","spec":"http://www.w3.org/TR/wai-aria/","status":"rec","links":[{"url":"http://www.w3.org/WAI/intro/aria","title":"Information page"},{"url":"http://www.paciellogroup.com/blog/2011/10/browser-assistive-technology-test…","title":"Links to various test results"},{"url":"http://en.wikipedia.org/wiki/WAI-ARIA","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/the-accessibility-of-wai-aria/","title":"ALA Article"},{"url":"http://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yet","title":"HTML5/WAI-ARIA information"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"n","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"n"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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](http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report)\r\n","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":88.33,"ucprefix":false,"parent":"","keywords":"wai,aria","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"geolocation":{"title":"Geolocation","description":"Method of informing a website of the user's geographical location","spec":"http://www.w3.org/TR/geolocation-API/","status":"rec","links":[{"url":"http://html5demos.com/geo","title":"Simple demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-g…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/geolocation","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1","60":"y #1"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y #1","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y #1"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y #1"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y #1"}},"notes":"","notes_by_num":{"1":"Only works on secure (https) servers"},"usage_perc_y":94.52,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"geolocation","chrome_id":"6348855016685568","firefox_id":"","webkit_id":""},"flexbox":{"title":"Flexible Box Layout Module","description":"Method of positioning elements in horizontal or vertical stacks. Support includes the support for the all properties prefixed with `flex` as well as `display: flex`, `display: inline-flex`, `align-content`, `align-items`, `align-self`, `justify-content` and `order`.","spec":"http://www.w3.org/TR/css3-flexbox/","status":"cr","links":[{"url":"http://bennettfeely.com/flexplorer/","title":"Flexbox CSS generator"},{"url":"http://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spe…","title":"Article on using the latest spec"},{"url":"https://dev.opera.com/articles/view/advanced-cross-browser-flexbox/","title":"Tutorial on cross-browser support"},{"url":"http://philipwalton.github.io/solved-by-flexbox/","title":"Examples on how to solve common layout problems with flexbox"},{"url":"http://css-tricks.com/snippets/css/a-guide-to-flexbox/","title":"A Complete Guide to Flexbox"},{"url":"http://the-echoplex.net/flexyboxes/","title":"Flexbox playground and code generator"},{"url":"https://github.com/philipwalton/flexbugs","title":"Flexbugs: Repo for flexbox bugs"},{"url":"https://github.com/10up/flexibility/","title":"10up Open Sources IE 8 and 9 Support for Flexbox"},{"url":"https://github.com/vadimyer/ecligrid","title":"Ecligrid - Mobile first flexbox grid system"},{"url":"http://gedd.ski/post/the-difference-between-width-and-flex-basis/","title":"The Difference Between Width and Flex-Basis"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #2 #4","11":"a #4"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x #1","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a x #1","3.2":"a x #1","4":"a x #1","5":"a x #1","5.1":"a x #1","6":"a x #1","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y x","16":"y x","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"a x #1","4.2-4.3":"a x #1","5.0-5.1":"a x #1","6.0-6.1":"a x #1","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"a x #1","4.1":"a x #1","4.2-4.3":"a x #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a x #1","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x #2","11":"y"},"and_uc":{"11":"a x #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Most partial support refers to supporting an [older version](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/) of the specification or an [older syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/).","notes_by_num":{"1":"Only supports the [old flexbox](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723) specification and does not support wrapping.","2":"Only supports the [2012 syntax](http://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)"},"usage_perc_y":83.12,"usage_perc_a":14.49,"ucprefix":false,"parent":"","keywords":"flex-box,flex-direction,flex-wrap,flex-flow,flex-grow,flex-basis,display:flex,flex box","ie_id":"flexbox","chrome_id":"4837301406400512","firefox_id":"","webkit_id":""},"webgl":{"title":"WebGL - 3D Canvas graphics","description":"Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware","spec":"https://www.khronos.org/registry/webgl/specs/1.0/","status":"other","links":[{"url":"http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation","title":"Instructions on enabling WebGL"},{"url":"http://www.khronos.org/webgl/wiki/Tutorial","title":"Tutorial"},{"url":"http://hacks.mozilla.org/2009/12/webgl-draft-released-today/","title":"Firefox blog post"},{"url":"http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/","title":"Webkit blog post"},{"url":"https://github.com/iewebgl/iewebgl","title":"Polyfill for IE"}],"categories":["Canvas"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"a","12.1":"a","37":"y"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"p","11":"y #1"},"and_uc":{"11":"y #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support listed as \"partial\" refers to the fact that not all users with these browsers have WebGL access. This is due to the additional requirement for users to have [up to date video drivers](http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists). This problem was [solved in Chrome on Windows](http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-en… as of version 18.\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\""},"usage_perc_y":57.87,"usage_perc_a":33.25,"ucprefix":false,"parent":"canvas","keywords":"web gl","ie_id":"webglcanvas3d,webglinstancingextension","chrome_id":"6049512976023552","firefox_id":"webgl-1","webkit_id":"specification-webgl-1"},"fileapi":{"title":"File API","description":"Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.","spec":"http://www.w3.org/TR/FileAPI/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Using_files_from_web_applications","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/apis/file","title":"WebPlatform Docs"},{"url":"https://github.com/moxiecode/moxie","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"a #1 #2","7":"a #1 #2","8":"a #1 #2","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2","12":"a #1 #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #1 #2","6":"a #2","6.1":"a #2","7":"a #2","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"a #2","7.0-7.1":"a #2","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1 #2","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"a #2","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2","10":"a #2"},"op_mob":{"10":"n","11":"n","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"a #2"},"and_uc":{"11":"a #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not have `FileReader` support. ","2":"Does not support the `File` constructor"},"usage_perc_y":73.65,"usage_perc_a":20.49,"ucprefix":false,"parent":"","keywords":"FileReader","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"shadowdom":{"title":"Shadow DOM v0","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.","spec":"http://www.w3.org/TR/shadow-dom/","status":"wd","links":[{"url":"http://html5-demos.appspot.com/static/shadowdom-visualizer/index.html","title":"Shadow DOM Visualizer"},{"url":"http://www.html5rocks.com/tutorials/webcomponents/shadowdom/","title":"HTML5Rocks - Shadow DOM 101 article"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=148695","title":"Safari implementation bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1205323","title":"Firefox implementation bug"},{"url":"https://developers.google.com/web/fundamentals/getting-started/primers/shad…","title":"Google Developers - Shadow DOM v1: self-contained web components"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Firefox behind the `dom.webcomponents.enabled` flag."},"usage_perc_y":59.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components","ie_id":"shadowdom","chrome_id":"4507242028072960","firefox_id":"shadow-dom","webkit_id":"feature-shadow-dom"},"websockets":{"title":"Web Sockets","description":"Bidirectional communication technology for web apps","spec":"https://html.spec.whatwg.org/multipage/comms.html#network","status":"ls","links":[{"url":"http://websocket.org/aboutwebsocket.html","title":"WebSockets information"},{"url":"http://updates.html5rocks.com/2011/08/What-s-different-in-the-new-WebSocket…","title":"Details on newer protocol"},{"url":"http://en.wikipedia.org/wiki/WebSocket","title":"Wikipedia"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-w…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/websocket","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #1","5":"a #1","6":"a x #2","7":"a x #2","8":"a x #2","9":"a x #2","10":"a x #2","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #2","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"a #1","6":"a #2","6.1":"a #2","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y #1","10":"y"},"op_mob":{"10":"n","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":93.27,"usage_perc_a":0.3,"ucprefix":true,"parent":"","keywords":"","ie_id":"websocket","chrome_id":"6555138000945152","firefox_id":"websocket","webkit_id":""},"hidden":{"title":"hidden attribute","description":"The `hidden` attribute may be applied to any element, and effectively hides elements similar to `display: none` in CSS.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute","status":"ls","links":[{"url":"http://davidwalsh.name/html5-hidden","title":"Article on hidden attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"The hidden state can be easily overridden with a CSS `display` property set to anything other than `none`.","notes_by_num":{},"usage_perc_y":97.13,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"script-async":{"title":"async attribute for external scripts","description":"The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async","status":"ls","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Default.html","title":"Demo"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-asy…","title":"has.js test"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Using script.async = false; to maintain execution order for dynamically-added scripts isn't supported in Safari 5.0"},"usage_perc_y":94.12,"usage_perc_a":0.04,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mediasource":{"title":"Media Source Extensions","description":"API allowing media data to be accessed from HTML `video` and `audio` elements.","spec":"http://www.w3.org/TR/media-source/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/MediaSource#Browser_compat…","title":"MDN article"},{"url":"https://msdn.microsoft.com/en-us/library/dn594470%28v=vs.85%29.aspx","title":"MSDN article"},{"url":"http://html5-demos.appspot.com/static/media-source.html","title":"MediaSource demo"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n d","18":"n d","19":"n d","20":"n d","21":"n d","22":"n d","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the `media.mediasource.enabled` flag to be enabled, support is limited to a whitelist including the YouTube, Netflix, and Dailymotion websites","2":"Partial support in IE11 refers to only working in Windows 8+"},"usage_perc_y":68.51,"usage_perc_a":3.56,"ucprefix":false,"parent":"","keywords":"sourcebuffer,endofstream,mse","ie_id":"mediasourceextensions","chrome_id":"4563797888991232","firefox_id":"mse","webkit_id":""},"cors":{"title":"Cross-Origin Resource Sharing","description":"Method of performing XMLHttpRequests across domains","spec":"https://fetch.spec.whatwg.org/#http-cors-protocol","status":"ls","links":[{"url":"http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/","title":"Mozilla Hacks blog post"},{"url":"http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx","title":"Alternative implementation by IE8"},{"url":"https://dev.opera.com/articles/view/dom-access-control-using-cross-origin-r…","title":"DOM access using CORS"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-c…","title":"has.js test"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #2","9":"a #2","10":"a #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"a #1 #3","5":"a #1 #3","5.1":"a #1 #3","6":"y #3","6.1":"y #3","7":"y #3","7.1":"y #3","8":"y #3","9":"y #3","9.1":"y #3","10":"y #3","10.1":"y #3","TP":"y #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1 #3","4.0-4.1":"a #1 #3","4.2-4.3":"a #1 #3","5.0-5.1":"a #1 #3","6.0-6.1":"y #3","7.0-7.1":"y #3","8":"y #3","8.1-8.4":"y #3","9.0-9.2":"y #3","9.3":"y #3","10.0-10.2":"y #3"},"op_mini":{"all":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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](http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomain…)","3":"Does not support CORS for `<video>` in `<canvas>`: https://bugs.webkit.org/show_bug.cgi?id=135379"},"usage_perc_y":93.03,"usage_perc_a":1.85,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-backdrop-filter":{"title":"CSS Backdrop Filter","description":"Method of applying filter effects (like blur, grayscale or hue) to content/elements below the target element.","spec":"http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty","status":"unoff","links":[{"url":"http://product.voxmedia.com/til/2015/2/17/8053347/css-ios-transparency-with…","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter","title":"Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge feature request"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1","60":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Can be enabled via the \"Experimental Web Platform Features\" flag"},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"blue,hue-rotate,invert,saturate,filter","ie_id":"backdropfilter","chrome_id":"5679432723333120","firefox_id":"","webkit_id":"feature-filter-effects-backdrop-filter-propery"},"calc":{"title":"calc() as CSS unit value","description":"Method of allowing calculated values for length units, i.e. `width: calc(100% - 3em)`","spec":"http://www.w3.org/TR/css3-values/#calc","status":"cr","links":[{"url":"http://hacks.mozilla.org/2010/06/css3-calc/","title":"Mozilla Hacks article"},{"url":"https://developer.mozilla.org/en/docs/Web/CSS/calc","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/functions/calc","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #2","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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](http://ejohn.org/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."},"usage_perc_y":82.3,"usage_perc_a":1.93,"ucprefix":false,"parent":"","keywords":"","ie_id":"csscalc","chrome_id":"5765241438732288","firefox_id":"","webkit_id":""},"dom-range":{"title":"Document Object Model Range","description":"A contiguous range of content in a Document, DocumentFragment or Attr","spec":"https://dom.spec.whatwg.org/#ranges","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Range","title":"MDN"},{"url":"http://www.quirksmode.org/dom/range_intro.html","title":"QuirksMode"},{"url":"https://github.com/timdown/rangy","title":"\"Rangy\" Range library with old IE support"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Range) for feature support details","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"DOM,range,selection","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ruby":{"title":"Ruby annotation","description":"Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).","spec":"https://html.spec.whatwg.org/multipage/semantics.html#the-ruby-element","status":"ls","links":[{"url":"http://html5doctor.com/ruby-rt-rp-element/","title":"HTML5 Doctor article"},{"url":"http://docs.webplatform.org/wiki/html/elements/ruby","title":"WebPlatform Docs"},{"url":"https://addons.mozilla.org/firefox/addon/1935/","title":"Add-on \"XHTML Ruby Support\" for Firefox"},{"url":"https://addons.mozilla.org/firefox/addon/6812/","title":"Addon \"HTML Ruby\" for Firefox support"},{"url":"http://www.w3.org/TR/css-ruby-1/","title":"CSS specification"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"p","10":"a"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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://msdn.microsoft.com/en-us/library/hh772055%28v=vs.85%29.… of an older version of the CSS Ruby specification."},"usage_perc_y":6.24,"usage_perc_a":88.12,"ucprefix":false,"parent":"","keywords":"ruby-base,ruby-text,ruby-position,ruby-merge,ruby-align","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-opacity":{"title":"CSS3 Opacity","description":"Method of setting the transparency level of an element","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"http://www.css3files.com/color/#opacity","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/opacity","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":97.94,"usage_perc_a":0.43,"ucprefix":false,"parent":"","keywords":"transparent,transparency,alpha","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"form-validation":{"title":"Form validation","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#client-side-form-validati…","status":"ls","links":[{"url":"http://docs.webplatform.org/wiki/html/attributes/required","title":"WebPlatform Docs"},{"url":"https://webkit.org/blog/7099/html-interactive-form-validation/","title":"WebKit Blog: HTML Interactive Form Validation"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #3"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to lack of notice when form with required fields is attempted to be submitted. See [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=28649).","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."},"usage_perc_y":79.82,"usage_perc_a":17.74,"ucprefix":false,"parent":"forms","keywords":"","ie_id":"","chrome_id":"6091813840486400","firefox_id":"","webkit_id":"feature-html-interactive-form-validation"},"history":{"title":"Session history management","description":"Method of manipulating the user's browser's session history in JavaScript using `history.pushState`, `history.replaceState` and the `popstate` event.","spec":"https://html.spec.whatwg.org/multipage/browsers.html#dom-history-pushstate","status":"ls","links":[{"url":"http://www.adequatelygood.com/2010/7/Saner-HTML5-History-Management","title":"Introduction to history management"},{"url":"https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history","title":"MDN article"},{"url":"http://html5demos.com/history","title":"Demo page"},{"url":"https://github.com/browserstate/history.js","title":"History.js polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-h…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/dom/History","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"n","4":"n","4.1":"n","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful.","notes_by_num":{},"usage_perc_y":84.71,"usage_perc_a":9.32,"ucprefix":false,"parent":"","keywords":"onpushstate,onreplacestate","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"json":{"title":"JSON parsing","description":"Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()","spec":"http://www.ecma-international.org/ecma-262/5.1/#sec-15.12","status":"other","links":[{"url":"https://developer.mozilla.org/En/Using_native_JSON","title":"MDN article"},{"url":"http://www.json.org/js.html","title":"JSON in JS (includes script w/support)"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/json.js#json","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/apis/json","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":98.23,"usage_perc_a":0,"ucprefix":false,"parent":"es5","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"classlist":{"title":"classList (DOMTokenList)","description":"Method of easily manipulating classes on elements, using the DOMTokenList object.","spec":"https://dom.spec.whatwg.org/#dom-element-classlist","status":"ls","links":[{"url":"http://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/","title":"Mozilla Hacks article"},{"url":"https://github.com/eligrey/classList.js","title":"Polyfill script"},{"url":"http://docs.webplatform.org/wiki/dom/Element/classList","title":"WebPlatform Docs"},{"url":"http://www.sitepoint.com/exploring-classlist-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/classlist-api-demo.html","title":"Demo using classList"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element.classList","title":"MDN article"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"p","9":"p","10":"a #1 #2 #3","11":"a #1 #2 #3"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"a #2 #3","4":"a #2 #3","5":"a #2 #3","6":"a #2 #3","7":"a #2 #3","8":"a #2 #3","9":"a #2 #3","10":"a #2 #3","11":"a #2 #3","12":"a #2 #3","13":"a #2 #3","14":"a #2 #3","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #3","25":"a #3","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2 #3","11":"a #1 #2 #3","12":"a #1 #2 #3","13":"a #1 #2 #3","14":"a #1 #2 #3","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #2 #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"a #1 #2 #3","6":"a #1 #2 #3","6.1":"a #1 #2 #3","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"a #1 #2 #3","11.6":"a #1 #2 #3","12":"a #1 #2 #3","12.1":"a #1 #2 #3","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a #1 #2 #3","6.0-6.1":"a #1 #2 #3","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1 #2 #3"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"a #1 #2 #3","4":"a #1 #2 #3","4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2 #3","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"a #1 #2 #3","11.5":"a #1 #2 #3","12":"a #1 #2 #3","12.1":"a #1 #2 #3","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1 #2 #3","11":"a #1 #2 #3"},"and_uc":{"11":"a #1 #2 #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":79.19,"usage_perc_a":18.32,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"text-overflow":{"title":"CSS3 Text-overflow","description":"Append ellipsis when text overflows its containing element","spec":"http://www.w3.org/TR/css3-ui/#text-overflow","status":"cr","links":[{"url":"https://github.com/rmorse/AutoEllipsis","title":"jQuery polyfill for Firefox"},{"url":"https://developer.mozilla.org/En/CSS/Text-overflow","title":"MDN article"},{"url":"http://www.css3files.com/text/","title":"Information page"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-text-over…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/css/properties/text-overflow","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y x","9.5-9.6":"y x","10.0-10.1":"y x","10.5":"y x","10.6":"y x","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y x","11":"y x","11.1":"y x","11.5":"y x","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":98.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"textoverflow,ellipsis","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webm":{"title":"WebM video format","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.","spec":"http://www.webmproject.org/","status":"other","links":[{"url":"https://tools.google.com/dlpage/webmmf","title":"Codec for IE9 support"},{"url":"http://www.broken-links.com/2010/09/01/playing-webm-in-safari-with-plugins/","title":"Info on supporting WebM in Safari"},{"url":"http://webmproject.org","title":"Official website"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video-webm","title":"has.js test"},{"url":"http://perian.org/","title":"Perian :Mac OSX Webm Codec install"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a","15":"a","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"a"},"and_qq":{"1.2":"y"}},"notes":"Will work in IE9+ and Safari/MacOSX provided the user has the WebM codecs installed. Partial support indicates that at least one codec is supported but not all. MS Edge supports VP9 from MSE sources, also progressive sources are not supported by Edge.","notes_by_num":{},"usage_perc_y":69.52,"usage_perc_a":8.06,"ucprefix":false,"parent":"video","keywords":"matroska","ie_id":"webmcontainer,vp9videoplayback","chrome_id":"6362186595172352","firefox_id":"","webkit_id":""},"mpeg4":{"title":"MPEG-4/H.264 video format","description":"Commonly used video compression format.","spec":"http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC","title":"Wikipedia article"},{"url":"http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugin","title":"Firefox extension allowing support in Win7"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a #1","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #2"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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 gstreamer plug-ins 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](http://www.broken-links.com/2010/07/08/making-html5-video-work-on… to play videos.","2":"Partial supports refers to the lack of hardware acceleration."},"usage_perc_y":84.02,"usage_perc_a":10.18,"ucprefix":false,"parent":"video","keywords":"avc,mp4,mpv,mov,aac,h264","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ogv":{"title":"Ogg/Theora video format","description":"Free lossy video compression format.","spec":"http://theora.org/doc/","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/Theora","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":44.53,"usage_perc_a":0,"ucprefix":false,"parent":"video","keywords":"xiph","ie_id":"theoravideocodec,oggcontainer","chrome_id":"","firefox_id":"","webkit_id":""},"wordwrap":{"title":"CSS3 Overflow-wrap","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.","spec":"http://www.w3.org/TR/css3-text/#overflow-wrap","status":"wd","links":[{"url":"https://developer.mozilla.org/En/CSS/Word-wrap","title":"MDN article"},{"url":"http://www.css3files.com/text/#wordwrap","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/properties/word-wrap","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=955857","title":"Bug on Firefox support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"a","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Partial support refers to requiring the legacy name \"word-wrap\" (rather than \"overflow-wrap\") to work.","notes_by_num":{},"usage_perc_y":76.61,"usage_perc_a":21.68,"ucprefix":false,"parent":"","keywords":"wordwrap,word-wrap","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"pointerlock":{"title":"PointerLock API","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. ","spec":"https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API","title":"MDN article"},{"url":"http://mdn.github.io/pointer-lock-demo","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n d","17":"n d","18":"n d","19":"n d","20":"n d","21":"n d","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":36.54,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"mouselock,pointer lock,mouse lock,requestPointerLock,pointerLockElement,exitPointerLock,movementX,movementY","ie_id":"pointerlockmouselock","chrome_id":"6753200417800192","firefox_id":"pointerlock","webkit_id":""},"object-fit":{"title":"CSS3 object-fit/object-position","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.","spec":"http://www.w3.org/TR/css3-images/","status":"cr","links":[{"url":"https://dev.opera.com/articles/view/css3-object-fit-object-position/","title":"Dev.Opera article"},{"url":"http://docs.webplatform.org/wiki/css/properties/object-fit","title":"WebPlatform Docs"},{"url":"https://github.com/bfred-it/object-fit-images/","title":"object-fit-images Polyfill for IE & Edge"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.1":"y x","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"y"},"op_mini":{"all":"y x"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"y x","11.1":"y x","11.5":"y x","12":"y x","12.1":"y x","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support in Safari refers to support for `object-fit` but not `object-position`."},"usage_perc_y":77.41,"usage_perc_a":1.94,"ucprefix":false,"parent":"","keywords":"objectfit,objectposition","ie_id":"objectfitandobjectposition","chrome_id":"5302669702856704","firefox_id":"","webkit_id":""},"xhr2":{"title":"XMLHttpRequest advanced features","description":"Adds more functionality to XHR (aka AJAX) requests like file uploads, transfer progress information and the ability to send form data. Previously known as [XMLHttpRequest Level 2](http://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/), these features now appear simply in the XMLHttpRequest spec.","spec":"https://xhr.spec.whatwg.org/","status":"ls","links":[{"url":"https://developer.mozilla.org/en/XMLHttpRequest/FormData","title":"MDN article on FormData"},{"url":"https://github.com/3nr1c/jUri.js","title":"Polyfill for FormData object"},{"url":"http://docs.webplatform.org/wiki/apis/xhr/XMLHttpRequest","title":"WebPlatform Docs"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a #1 #2 #3","3.6":"a #1 #2 #3","4":"a #1 #2 #3","5":"a #1 #2 #3","6":"a #1 #2","7":"a #1 #2","8":"a #1 #2","9":"a #1 #2","10":"a #2","11":"a #2","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"a #1 #2","8":"a #1 #2","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2","12":"a #1 #2","13":"a #1 #2","14":"a #1 #2","15":"a #1 #2","16":"a #1 #2","17":"a #1 #2","18":"a #1 #2","19":"a #1 #2","20":"a #1 #2","21":"a #1 #2","22":"a #1 #2","23":"a #1 #2","24":"a #1 #2","25":"a #1 #2","26":"a #1 #2","27":"a #1 #2","28":"a #1 #2","29":"a #1","30":"a #1","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a #1 #2","5.1":"a #1 #2","6":"a #1 #2","6.1":"a #1","7":"a #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"a #1","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #1 #2","6.0-6.1":"a #1 #2","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1 #2 #3","4":"a #1 #2 #3","4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","4.4":"a #1 #2","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2","10":"a #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a #1 #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`"},"usage_perc_y":78.02,"usage_perc_a":16.22,"ucprefix":false,"parent":"","keywords":"formdata","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"minmaxwh":{"title":"CSS min/max-width/height","description":"Method of setting a minimum or maximum width or height to an element. ","spec":"http://www.w3.org/TR/CSS21/visudet.html#min-max-widths","status":"rec","links":[{"url":"http://code.google.com/p/ie7-js/","title":"JS library with support"},{"url":"http://docs.webplatform.org/wiki/css/properties/min-width","title":"WebPlatform Docs"},{"url":"http://www.impressivewebs.com/min-max-width-height-css/","title":"CSS Basics post"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"p","6":"p","7":"y #1","8":"y #2","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`."},"usage_perc_y":98.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"min-width,min-height,max-width,max-height","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"details":{"title":"Details & Summary elements","description":"The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-details-element","status":"ls","links":[{"url":"https://mathiasbynens.be/notes/html5-details-jquery","title":"jQuery fallback script"},{"url":"https://gist.github.com/370590","title":"Fallback script"},{"url":"http://html5doctor.com/summary-figcaption-element/","title":"HTML5 Doctor article"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-d…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/details","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=591737","title":"Bug on Firefox support"},{"url":"https://github.com/javan/details-element-polyfill","title":"Details Element Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"n d #1","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"y #2 #3","13":"y #2 #3","14":"y #2 #3","15":"y #2 #3","16":"y #2 #3","17":"y #2 #3","18":"y #2 #3","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y #2","26":"y #2","27":"y #2","28":"y #2","29":"y #2","30":"y #2","31":"y #2","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"y #2","6.1":"y #2","7":"y #2","7.1":"y #2","8":"y #2","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y #2 #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":86.65,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"detailssummary","chrome_id":"5348024557502464","firefox_id":"","webkit_id":""},"text-stroke":{"title":"CSS text-stroke and text-fill","description":"Method of declaring the outline (stroke) width and color for text.","spec":"https://compat.spec.whatwg.org/#text-fill-and-stroking","status":"unoff","links":[{"url":"https://css-tricks.com/adding-stroke-to-web-text/","title":"Information & workarounds"},{"url":"http://www.westciv.com/tools/textStroke/","title":"Live editor"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-text-stroke","title":"Mozilla Developer Network article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y x #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n d #1 #2","49":"y x #1","50":"y x #1","51":"y x #1","52":"y x #1","53":"y x #1","54":"y x #1","55":"y x #1"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"a x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"n","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"y x #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"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 support the `-webkit-text-stroke` property without having support with their own prefix.","2":"Requires the `layout.css.prefixes.webkit` flag to be enabled."},"usage_perc_y":77.63,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"textstroke,stroke-color,stroke-width,text-fill-color,text-outline","ie_id":"webkittextstroke","chrome_id":"","firefox_id":"","webkit_id":""},"chacha20-poly1305":{"title":"ChaCha20-Poly1305 cipher suites for TLS","description":"A set of cipher suites used in Transport Layer Security (TLS) protocol, using ChaCha20 for symmetric encryption and Poly1305 for authentication.","spec":"https://tools.ietf.org/html/rfc7905","status":"other","links":[{"url":"https://security.googleblog.com/2014/04/speeding-up-and-strengthening-https…","title":"Chrome article"},{"url":"https://www.ssllabs.com/ssltest/viewMyClient.html","title":"SSL/TLS Capabilities of Your Browser by Qualys SSL Labs"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"u","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Old versions of Chrome use non-standard code points for ChaCha20-Poly1305 cipher suites."},"usage_perc_y":62.83,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"chacha20,poly1305,tls,cipher","ie_id":"","chrome_id":"5355238106071040","firefox_id":"","webkit_id":""},"inline-block":{"title":"CSS inline-block","description":"Method of displaying an element as a block while flowing it with text. ","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and…","title":"Blog post w/info"},{"url":"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/","title":"Info on cross browser support"},{"url":"http://docs.webplatform.org/wiki/css/properties/display","title":"WebPlatform Docs"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"a","6":"a #1","7":"a #1","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a x","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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-… are available to provide complete cross-browser support."},"usage_perc_y":98.3,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"inlineblock,display:inline-block","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"notifications":{"title":"Web Notifications","description":"Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).","spec":"https://notifications.spec.whatwg.org/","status":"ls","links":[{"url":"http://www.html5rocks.com/tutorials/notifications/quick/","title":"HTML5 Rocks tutorial"},{"url":"http://www.chromium.org/developers/design-documents/desktop-notifications/a…","title":"Chromium API"},{"url":"https://addons.mozilla.org/en-us/firefox/addon/221523/","title":"Add-on"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/notification","title":"MDN Notifications"},{"url":"http://www.sitepoint.com/introduction-web-notifications-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/web-notifications-api-demo.html","title":"Demo"},{"url":"http://ukot.github.io/ie_web_notifications/","title":"Plug-in for support in IE"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x","4.4.3-4.4.4":"a x","53":"a x"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Can be enabled in `about:flags`"},"usage_perc_y":38.52,"usage_perc_a":5.4,"ucprefix":false,"parent":"","keywords":"","ie_id":"webnotifications","chrome_id":"5064350557536256","firefox_id":"","webkit_id":""},"stream":{"title":"getUserMedia/Stream API","description":"Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.","spec":"http://www.w3.org/TR/mediacapture-streams/","status":"cr","links":[{"url":"https://dev.opera.com/blog/webcam-orientation-preview/","title":"Technology preview from Opera"},{"url":"http://docs.webplatform.org/wiki/dom/Navigator/getUserMedia","title":"WebPlatform Docs"},{"url":"http://blogs.windows.com/msedgedev/2015/05/13/announcing-media-capture-func…","title":"Media Capture functionality in Microsoft Edge"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a x #1","12.1":"a x #1","15":"n","16":"n","17":"n","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a x #1"},"bb":{"7":"n","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"a x #1","12.1":"a x #1","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"y x"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"u"},"and_qq":{"1.2":"a x #1"}},"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)."},"usage_perc_y":8.24,"usage_perc_a":63.3,"ucprefix":false,"parent":"","keywords":"camera,device,getUserMedia,media stream,mediastream,Media Capture API","ie_id":"mediacaptureandstreams","chrome_id":"6067380039974912,6605041225957376","firefox_id":"","webkit_id":""},"svg-img":{"title":"SVG in HTML img element","description":"Method of displaying SVG images in HTML using <img>.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html","status":"ls","links":[{"url":"http://blog.dholbert.org/2010/10/svg-as-image.html","title":"Blog post with examples"},{"url":"http://www.codedread.com/blog/","title":"Blog with SVGs an images"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"a","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to not supporting embedded images (data URIs) inside the SVG."},"usage_perc_y":95.98,"usage_perc_a":1.89,"ucprefix":false,"parent":"","keywords":"svg-as-img,svg-in-img","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"datalist":{"title":"Datalist element","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element","status":"ls","links":[{"url":"http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/","title":"Mozilla Hacks article"},{"url":"http://afarkas.github.com/webshim/demos/","title":"HTML5 Library including datalist support"},{"url":"https://developer.mozilla.org/en/HTML/Element/datalist","title":"MDN reference"},{"url":"http://docs.webplatform.org/wiki/html/elements/datalist","title":"WebPlatform Docs"},{"url":"http://demo.agektmr.com/datalist/","title":"Eiji Kitamura's options demos & tests"},{"url":"http://github.com/thgreasi/datalist-polyfill","title":"Minimal Datalist polyfill w/tutorial"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"a #3","16":"a #3","17":"a #3","18":"a #3","19":"a #3","20":"a #3","21":"a #3","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"a #3","50":"a #3","51":"a #3","52":"a #3","53":"a #3","54":"a #3","55":"a #3"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"p"},"and_chr":{"56":"y"},"and_ff":{"51":"a #3"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"a #1"}},"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://code.google.com/p/chromium/issues/detail?id=375637) where long lists of items are unscrollable resulting in unselectable options.","2":"Partial support in IE refers to [significantly buggy behavior](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))."},"usage_perc_y":39.21,"usage_perc_a":40.53,"ucprefix":false,"parent":"forms","keywords":"list attribute","ie_id":"datalistelement","chrome_id":"6090950820495360","firefox_id":"","webkit_id":""},"dataset":{"title":"dataset & data-* attributes","description":"Method of applying and accessing custom data to elements.","spec":"https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visibl…","status":"ls","links":[{"url":"http://html5doctor.com/html5-custom-data-attributes/","title":"HTML5 Doctor article"},{"url":"http://html5demos.com/dataset","title":"Demo using dataset"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-dataset","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/attributes/data-*","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset","title":"MDN Reference - dataset"},{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attribut…","title":"MDN Guide - Using data-* attributes"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge UserVoice #15885483: Support dataset and data attributes on SVG elements"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"a","5":"a","6":"a","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1","60":"y #1"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"y #1","6":"y #1","6.1":"y #1","7":"y #1","7.1":"y #1","8":"y #1","9":"y #1","9.1":"y #1","10":"y #1","10.1":"y #1","TP":"y #1"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"y #1","6.0-6.1":"y #1","7.0-7.1":"y #1","8":"y #1","8.1-8.4":"y #1","9.0-9.2":"y #1","9.3":"y #1","10.0-10.2":"y #1"},"op_mini":{"all":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y #1","4.4.3-4.4.4":"y #1","53":"y #1"},"bb":{"7":"y #1","10":"y #1"},"op_mob":{"10":"a","11":"a","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y #1"},"and_chr":{"56":"y #1"},"and_ff":{"51":"y #1"},"ie_mob":{"10":"a","11":"y"},"and_uc":{"11":"y #1"},"samsung":{"4":"y #1"},"and_qq":{"1.2":"y"}},"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](http://www.w3.org/2015/01/15-svg-minutes.html#item03)"},"usage_perc_y":93.86,"usage_perc_a":4.51,"ucprefix":false,"parent":"","keywords":"DOMStringMap","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-grid":{"title":"CSS Grid Layout","description":"Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for lay out into columns and rows using a set of predictable sizing behaviors","spec":"http://www.w3.org/TR/css3-grid-layout/","status":"cr","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2011/04/14/ie10-platform-preview-and-css…","title":"IE Blog post"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=60731","title":"Webkit (Chrome, Safari, etc.) feature request"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=616605","title":"Mozilla (Firefox) feature request"},{"url":"https://github.com/codler/Grid-Layout-Polyfill","title":"Polyfill based on old spec"},{"url":"https://github.com/FremyCompany/css-grid-polyfill/","title":"Polyfill based on new spec"},{"url":"https://webkit.org/blog/7434/css-grid-layout-a-new-layout-module-for-the-we…","title":"WebKit Blog post"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"a x #2","11":"a x #2"},"edge":{"12":"a x #2","13":"a x #2","14":"a x #2","15":"a x #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p d #3","41":"p d #3","42":"p d #3","43":"p d #3","44":"p d #3","45":"p d #3","46":"p d #3","47":"p d #3","48":"p d #3","49":"p d #3","50":"p d #3","51":"p d #3","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"p","26":"p","27":"p","28":"p","29":"p d #1","30":"p d #1","31":"p d #1","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"p d #1","45":"p d #1","46":"p d #1","47":"p d #1","48":"p d #1","49":"p d #1","50":"p d #1","51":"p d #1","52":"p d #1","53":"p d #1","54":"p d #1","55":"p d #1","56":"p d #1","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"p d #1","29":"p d #1","30":"p d #1","31":"p d #1","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"p"},"and_chr":{"56":"p"},"and_ff":{"51":"p"},"ie_mob":{"10":"a x #2","11":"a x #2"},"and_uc":{"11":"n"},"samsung":{"4":"p"},"and_qq":{"1.2":"p d #1"}},"notes":"Supported in WebKit Nightly with `-webkit-` prefix.","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](http://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/) of the specification.","3":"Enabled in Firefox through the `layout.css.grid.enabled ` flag"},"usage_perc_y":0.32,"usage_perc_a":5.96,"ucprefix":false,"parent":"","keywords":"grids,grid-row,grid-column,display:grid","ie_id":"grid","chrome_id":"4589636412243968","firefox_id":"grid-layout","webkit_id":"specification-css-grid-layout-level-1"},"menu":{"title":"Toolbar/context menu","description":"Method of defining a toolbar menu, a context menu or a list of (interactive) options using the <menu> element.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-menu-element","status":"ls","links":[{"url":"https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309","title":"Demo"},{"url":"https://github.com/swisnl/jQuery-contextMenu","title":"jQuery polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/events.js#event-cont…","title":"has.js test"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=746087","title":"Bug on Firefox support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n d #3","42":"n d #3","43":"n d #3","44":"n d #3","45":"n d #3","46":"n d #3","47":"n d #3","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #5","53":"n d #5","54":"n d #5","55":"n d #5","56":"n d #5","57":"n d #5","58":"n d #5","59":"n d #5","60":"n d #5"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #5","40":"n d #5","41":"n d #5","42":"n d #5","43":"n d #5","44":"n d #5","45":"n d #5"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"a #1 #4"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #5"}},"notes":"","notes_by_num":{"1":"Partial support in Firefox refers to being limited to context menus, not toolbar menus.","2":"Context menus supported in Chromium under the \"Experimental Web Platform features\" flag","3":"Context menus with a non-compliant syntax (`type=popup`) supported in Chromium under the \"Experimental Web Platform features\" flag","4":"Nested menus are not supported","5":"Context menus supported in Chromium with the \"enable-blink-features=ContextMenu\" command line flag"},"usage_perc_y":0,"usage_perc_a":6.63,"ucprefix":false,"parent":"","keywords":"contextmenu,menuitem,command","ie_id":"menuelement","chrome_id":"","firefox_id":"","webkit_id":""},"css-zoom":{"title":"CSS zoom","description":"Non-standard method of scaling content.","spec":"https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx","status":"unoff","links":[{"url":"https://css-tricks.com/almanac/properties/z/zoom/","title":"CSS Tricks"},{"url":"https://docs.webplatform.org/wiki/css/properties/zoom","title":"WebPlatform Docs"},{"url":"https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx","title":"MSDN Library"},{"url":"https://developer.apple.com/library/safari/documentation/AppleApplications/…","title":"Safari Developer Library"},{"url":"http://www.satzansatz.de/cssd/onhavinglayout.html","title":"Article explaining usage of zoom as the hack for fixing rendering bugs in IE6 and IE7."},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/zoom","title":"Mozilla Developer Network"}],"categories":["CSS"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y #1","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Originally implemented only in Internet Explorer. Although several other browsers support the property, using `transform: scale()` is the recommended solution to scale content.","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."},"usage_perc_y":88.18,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"-ms-zoom,transform,-moz-transform,-ms-transform,-webkit-transform,-o-transform,scale,css-transforms","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"rem":{"title":"rem (root em) units","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.","spec":"http://www.w3.org/TR/css3-values/#font-relative-lengths","status":"cr","links":[{"url":"http://snook.ca/archives/html_and_css/font-size-with-rem","title":"Article on usage"},{"url":"https://github.com/chuckcarpenter/REM-unit-polyfill","title":"REM Polyfill"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"a #2","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":97.31,"usage_perc_a":0.48,"ucprefix":false,"parent":"","keywords":"rems","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ttf":{"title":"TTF/OTF - TrueType and OpenType font support","description":"Support for the TrueType (.ttf) and OpenType (.otf) outline font formats in @font-face. ","spec":"http://developer.apple.com/fonts/TTRefMan/index.html","status":"other","links":[{"url":"http://stackoverflow.com/questions/17694143/what-is-the-status-of-ttf-suppo…","title":"What is the status of TTF support in Internet Explorer?"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)."},"usage_perc_y":90.07,"usage_perc_a":4.51,"ucprefix":false,"parent":"fontface","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"touch":{"title":"Touch events","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.","spec":"http://www.w3.org/TR/touch-events/","status":"rec","links":[{"url":"http://www.quirksmode.org/mobile/tableTouch.html","title":"Detailed support tables"},{"url":"http://www.quirksmode.org/m/tests/drag2.html","title":"Multi-touch demo"},{"url":"http://schepers.cc/getintouch","title":"Information on the spec development"},{"url":"http://msdn.microsoft.com/en-us/library/ie/hh673557(v=vs.85).aspx","title":"Internet Explorer's gesture and touch implementation."},{"url":"http://github.com/CamHenlin/TouchPolyfill","title":"Touch polyfill for supporting touch events on Internet Explorer"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Touch_events","title":"MDN \u2013 Touch events"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"n d #3","13":"n d #3","14":"n d #3","15":"n d #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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…"","3":"Can be enabled in Edge using the \"Enable touch events\" flag under `about:flags`"},"usage_perc_y":79.34,"usage_perc_a":0.5,"ucprefix":false,"parent":"","keywords":"touchstart,touchend,touchmove,touchenter,touchleave,touchcancel","ie_id":"touchevents","chrome_id":"6156165603917824","firefox_id":"","webkit_id":""},"matchesselector":{"title":"matches() DOM method","description":"Method of testing whether or not a DOM element matches a given selector. Formerly known (and largely supported with prefix) as matchesSelector.","spec":"https://dom.spec.whatwg.org/#dom-element-matches","status":"ls","links":[{"url":"https://developer.mozilla.org/en/docs/Web/API/Element/matches","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/dom/HTMLElement/matches","title":"WebPlatform Docs"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a x","10":"a x","11":"a x"},"edge":{"12":"a x","13":"a x","14":"a x","15":"a x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a x","5.1":"a x","6":"a x","6.1":"a x","7":"a x","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"a x","11.6":"a x","12":"a x","12.1":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6.0-6.1":"a x","7.0-7.1":"a x","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"a x","2.3":"a x","3":"a x","4":"a x","4.1":"a x","4.2-4.3":"a x","4.4":"a x","4.4.3-4.4.4":"a x","53":"y"},"bb":{"7":"a x","10":"a x"},"op_mob":{"10":"n","11":"n","11.1":"a x","11.5":"a x","12":"a x","12.1":"a x","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x","11":"a x"},"and_uc":{"11":"a x"},"samsung":{"4":"a x"},"and_qq":{"1.2":"y"}},"notes":"Partial support refers to supporting the older specification's \"matchesSelector\" name rather than just \"matches\".","notes_by_num":{},"usage_perc_y":71.61,"usage_perc_a":22.89,"ucprefix":false,"parent":"","keywords":" matchesSelector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"pointer-events":{"title":"CSS pointer-events (for HTML)","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. ","spec":"http://wiki.csswg.org/spec/css4-ui#pointer-events","status":"unoff","links":[{"url":"http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-und…","title":"Article & tutorial"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-pointerev…","title":"has.js test"},{"url":"https://github.com/kmewhort/pointer_events_polyfill","title":"Polyfill"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.","notes_by_num":{},"usage_perc_y":93.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"pointerevents,pointer-events:none","ie_id":"csspointerevents","chrome_id":"","firefox_id":"","webkit_id":""},"blobbuilder":{"title":"Blob constructing","description":"Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor.","spec":"http://www.w3.org/TR/FileAPI/#constructorBlob","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/BlobBuilder","title":"MDN article on BlobBuilder"},{"url":"https://developer.mozilla.org/en-US/docs/DOM/Blob","title":"MDN article on Blobs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a x","4":"a x","4.1":"a x","4.2-4.3":"a x","4.4":"a x","4.4.3-4.4.4":"a x","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Partial support refers to only supporting the now deprecated BlobBuilder to create blobs.","notes_by_num":{},"usage_perc_y":82.27,"usage_perc_a":11.78,"ucprefix":true,"parent":"fileapi","keywords":"","ie_id":"blob","chrome_id":"5328783104016384","firefox_id":"","webkit_id":""},"filereader":{"title":"FileReader API","description":"Method of reading the contents of a File or Blob object into memory","spec":"http://www.w3.org/TR/FileAPI/#dfn-filereader","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/FileReader","title":"FileReader API"},{"url":"http://docs.webplatform.org/wiki/apis/file/FileReader","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not support `readAsBinaryString`"},"usage_perc_y":90.31,"usage_perc_a":3.8,"ucprefix":false,"parent":"fileapi","keywords":"","ie_id":"filereader","chrome_id":"5171003185430528","firefox_id":"","webkit_id":""},"filesystem":{"title":"Filesystem & FileWriter API","description":"Method of reading and writing files to a sandboxed file system.","spec":"http://www.w3.org/TR/file-system-api/","status":"unoff","links":[{"url":"http://www.html5rocks.com/en/tutorials/file/filesystem/","title":"HTML5 Rocks tutorial"},{"url":"http://docs.webplatform.org/wiki/apis/filesystem","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=997471","title":"Firefox tracking bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions.","notes_by_num":{},"usage_perc_y":54.08,"usage_perc_a":0.04,"ucprefix":false,"parent":"","keywords":"filewriter,requestFileSystem","ie_id":"filewriter","chrome_id":"5452478162141184","firefox_id":"","webkit_id":""},"bloburls":{"title":"Blob URLs","description":"Method of creating URL handles to the specified File or Blob object.","spec":"http://www.w3.org/TR/FileAPI/#url","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/window.URL.createObjectURL","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.91,"usage_perc_a":0,"ucprefix":false,"parent":"fileapi","keywords":"createobjecturl,revokeobjecturl","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"rellist":{"title":"relList (DOMTokenList)","description":"Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList).","spec":"https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/DOM/DOMTokenList","title":"MDN - DOMTokenList"},{"url":"https://github.com/jwilsson/domtokenlist","title":"domtokenlist polyfill"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a #1"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"a #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Chrome and Chromium based browsers support relList on link elements, but not anchor elements"},"usage_perc_y":17.64,"usage_perc_a":50.74,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"typedarrays":{"title":"Typed Arrays","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","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-typedarray-objects","status":"other","links":[{"url":"https://developer.mozilla.org/en/javascript_typed_arrays","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #2","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a #2","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Includes support for ArrayBuffer objects.","notes_by_num":{"1":"IE10 (and IE 10&11 mobile) does not support `Uint8ClampedArray`"},"usage_perc_y":96.68,"usage_perc_a":0.76,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,dataview,arraybuffer","ie_id":"typedarrayses6","chrome_id":"5135818813341696","firefox_id":"","webkit_id":""},"deviceorientation":{"title":"DeviceOrientation & DeviceMotion events","description":"API for detecting orientation and motion events from the device running the browser.","spec":"http://www.w3.org/TR/orientation-event/","status":"cr","links":[{"url":"http://www.html5rocks.com/en/tutorials/device/orientation/","title":"HTML5 Rocks tutorial"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-o…","title":"has.js test"},{"url":"http://html5labs.interoperabilitybridges.com/prototypes/device-orientation-…","title":"DeviceOrientation implementation prototype for IE10"},{"url":"http://aurelio.audero.it/demo/device-orientation-api-demo.html","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"p","4":"p","5":"p","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"n","5":"n","6":"n","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"n","10":"a"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y","12.1":"y","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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+."},"usage_perc_y":2.07,"usage_perc_a":89.34,"ucprefix":false,"parent":"","keywords":"","ie_id":"deviceorientation,devicemotion","chrome_id":"5874690627207168,5556931766779904","firefox_id":"device-orientation","webkit_id":""},"script-defer":{"title":"defer attribute for external scripts","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.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#attr-script-defer","status":"ls","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-def…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/attributes/defer","title":"WebPlatform Docs"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y #2","3.6":"y #2","4":"y #2","5":"y #2","6":"y #2","7":"y #2","8":"y #2","9":"y #2","10":"y #2","11":"y #2","12":"y #2","13":"y #2","14":"y #2","15":"y #2","16":"y #2","17":"y #2","18":"y #2","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y #2","26":"y #2","27":"y #2","28":"y #2","29":"y #2","30":"y #2","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":94.16,"usage_perc_a":0.68,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"nav-timing":{"title":"Navigation Timing API","description":"API for accessing timing information related to navigation and elements.","spec":"http://www.w3.org/TR/navigation-timing/","status":"rec","links":[{"url":"https://developer.mozilla.org/en/API/navigationTiming","title":"MDN article"},{"url":"http://www.html5rocks.com/en/tutorials/webperformance/basics/","title":"HTML5 Rocks tutorial"},{"url":"http://docs.webplatform.org/wiki/apis/navigation_timing","title":"WebPlatform Docs"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Removed in iOS 8.1 due to poor performance.","notes_by_num":{},"usage_perc_y":93.51,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,performance.timing","ie_id":"navigationtimingapi","chrome_id":"5584144679567360","firefox_id":"","webkit_id":""},"audio-api":{"title":"Web Audio API","description":"High-level JavaScript API for processing and synthesizing audio","spec":"http://www.w3.org/TR/webaudio/","status":"wd","links":[{"url":"https://github.com/corbanbrook/audionode.js","title":"Polyfill to support Web Audio API in Firefox"},{"url":"http://docs.webplatform.org/wiki/apis/webaudio","title":"WebPlatform Docs"},{"url":"http://www.doboism.com/projects/webaudio-compatibility/","title":"Additional browser compatibility tests for specific features"},{"url":"https://github.com/g200kg/WAAPISim","title":"Polyfill to enable Web Audio API through Firefox Audio Data api or flash"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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](http://updates.html5rocks.com/2014/07/Web-Audio-Changes-in-m36) as of version 36.","notes_by_num":{},"usage_perc_y":77.89,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web-audio,webaudio,AudioContext,AudioBuffer,AudioNode","ie_id":"webaudioapi","chrome_id":"6261718720184320","firefox_id":"webaudio","webkit_id":""},"css-regions":{"title":"CSS Regions","description":"Method of flowing content into multiple elements.","spec":"http://www.w3.org/TR/css3-regions/","status":"wd","links":[{"url":"http://html.adobe.com/webstandards/cssregions/","title":"Adobe demos and samples"},{"url":"http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected","title":"IE10 developer guide info"},{"url":"http://docs.webplatform.org/wiki/css/atrules/@region","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=674802","title":"Firefox feature request bug"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #2","11":"a x #1 #2"},"edge":{"12":"a x #1 #2","13":"a x #1 #2","14":"a x #1 #2","15":"a x #1 #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"n d","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n d","26":"n d","27":"n d","28":"n d","29":"n d","30":"n d","31":"n d","32":"n d","33":"n d","34":"n d","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"a x #1 #2","11":"a x #1 #2"},"and_uc":{"11":"y x"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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."},"usage_perc_y":21.24,"usage_perc_a":5.99,"ucprefix":false,"parent":"","keywords":"","ie_id":"regions","chrome_id":"5655612935372800","firefox_id":"","webkit_id":""},"spellcheck-attribute":{"title":"Spellcheck attribute","description":"Attribute for `input`/`textarea` fields to enable/disable the browser's spellchecker.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#spelling-and-gramma…","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Controlling_spell_checkin…","title":"MDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"y"}},"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 the `lang` attribute. Generally spelling is based on the browser's language, not the language of the document.","notes_by_num":{},"usage_perc_y":43.08,"usage_perc_a":54.5,"ucprefix":false,"parent":"","keywords":"spelling","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"fullscreen":{"title":"Full Screen API","description":"API for allowing content (like a video or canvas element) to take up the entire screen.","spec":"https://fullscreen.spec.whatwg.org/","status":"ls","links":[{"url":"https://developer.mozilla.org/en/DOM/Using_full-screen_mode","title":"MDN article"},{"url":"http://jlongster.com/2011/11/21/canvas.html","title":"Blog post"},{"url":"http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/","title":"Mozilla hacks article"},{"url":"http://docs.webplatform.org/wiki/dom/Element/requestFullscreen","title":"WebPlatform Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a x #3"},"edge":{"12":"a #3","13":"a #3","14":"a #3","15":"a #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #3","11":"a x #1 #3","12":"a x #1 #3","13":"a x #1 #3","14":"a x #1 #3","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1 #3","36":"a x #1 #3","37":"a x #1 #3","38":"a x #1 #3","39":"a x #1 #3","40":"a x #1 #3","41":"a x #1 #3","42":"a x #1 #3","43":"a x #1 #3","44":"a x #1 #3","45":"a x #1 #3","46":"a x #1 #3","47":"a x #1 #3 #4","48":"a x #1 #3 #4","49":"a x #1 #3 #4","50":"a x #1 #3 #4","51":"a x #1 #3 #4","52":"a x #1 #3 #4","53":"a x #1 #3 #4","54":"a x #1 #3 #4","55":"a x #1 #3 #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #2 #3","21":"a x #2 #3","22":"a x #2 #3","23":"a x #2 #3","24":"a x #2 #3","25":"a x #2 #3","26":"a x #2 #3","27":"a x #2 #3","28":"a x #2 #3","29":"a x #2 #3","30":"a x #2 #3","31":"a x #2 #3","32":"a x #2 #3","33":"a x #2 #3","34":"a x #2 #3","35":"a x #2 #3","36":"a x #2 #3","37":"a x #2 #3","38":"a x #2 #3","39":"a x #2 #3","40":"a x #2 #3","41":"a x #2 #3","42":"a x #2 #3","43":"a x #2 #3","44":"a x #2 #3","45":"a x #2 #3","46":"a x #2 #3","47":"a x #2 #3","48":"a x #2 #3","49":"a x #2 #3","50":"a x #2 #3","51":"a x #2 #3","52":"a x #2 #3","53":"a x #2 #3","54":"a x #2 #3","55":"a x #2 #3","56":"a x #2 #3","57":"a x #2 #3","58":"a x #2 #3","59":"a x #2 #3","60":"a x #2 #3"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a x #1 #3","6":"a x #2 #3","6.1":"a x #2 #3","7":"a x #2 #3","7.1":"a x #2 #3","8":"a x #2 #3","9":"a x #2 #3","9.1":"a x #2 #3","10":"a x #2 #3","10.1":"a x #2 #3","TP":"a x #2 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"a x #2 #3","16":"a x #2 #3","17":"a x #2 #3","18":"a x #2 #3","19":"a x #2 #3","20":"a x #2 #3","21":"a x #2 #3","22":"a x #2 #3","23":"a x #2 #3","24":"a x #2 #3","25":"a x #2 #3","26":"a x #2 #3","27":"a x #2 #3","28":"a x #2 #3","29":"a x #2 #3","30":"a x #2 #3","31":"a x #2 #3","32":"a x #2 #3","33":"a x #2 #3","34":"a x #2 #3","35":"a x #2 #3","36":"a x #2 #3","37":"a x #2 #3","38":"a x #2 #3","39":"a x #2 #3","40":"a x #2 #3","41":"a x #2 #3","42":"a x #2 #3","43":"a x #2 #3","44":"a x #2 #3","45":"a x #2 #3"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"a x #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #2 #3"},"and_chr":{"56":"a x #2 #3"},"and_ff":{"51":"a x #1 #3 #4"},"ie_mob":{"10":"n","11":"a x #3"},"and_uc":{"11":"n"},"samsung":{"4":"a x #2 #3"},"and_qq":{"1.2":"a x #2 #3"}},"notes":"","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"},"usage_perc_y":0.07,"usage_perc_a":72.19,"ucprefix":false,"parent":"","keywords":"full-screen","ie_id":"fullscreenapi","chrome_id":"5259513871466496","firefox_id":"fullscreen","webkit_id":""},"css-exclusions":{"title":"CSS Exclusions Level 1","description":"Exclusions defines how inline content flows around elements. It extends the content wrapping ability of floats to any block-level element.","spec":"http://www.w3.org/TR/css3-exclusions/","status":"wd","links":[{"url":"https://msdn.microsoft.com/en-us/library/ie/hh673558(v=vs.85).aspx","title":"CSS Exclusions"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=674804","title":"Firefox tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=57311","title":"WebKit tracking bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x"},"edge":{"12":"y x","13":"y x","14":"y x","15":"y x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y x","11":"y x"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":5.96,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"floats,exclusions,wrap-flow,wrap-through","ie_id":"exclusions","chrome_id":"6296903092273152","firefox_id":"","webkit_id":""},"requestanimationframe":{"title":"requestAnimationFrame","description":"API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts. Also covers support for `cancelAnimationFrame`","spec":"https://html.spec.whatwg.org/multipage/webappapis.html#animation-frames","status":"ls","links":[{"url":"http://paulirish.com/2011/requestanimationframe-for-smart-animating/","title":"Blog post"},{"url":"http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval…","title":"Mozilla Hacks article"},{"url":"http://docs.webplatform.org/wiki/dom/Window/requestAnimationFrame","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFra…","title":"MDN Docs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #2","11":"a x #1 #2","12":"a x #1 #2","13":"a x #1 #2","14":"a x #1 #2","15":"a x #1 #2","16":"a x #1 #2","17":"a x #1 #2","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to lacking `cancelAnimationFrame` support.","2":"Supports `webkitCancelRequestAnimationFrame` rather than `webkitCancelAnimationFrame."},"usage_perc_y":93.13,"usage_perc_a":0.16,"ucprefix":false,"parent":"","keywords":"","ie_id":"requestanimationframe","chrome_id":"5233400470306816","firefox_id":"","webkit_id":""},"input-range":{"title":"Range input type","description":"Form field type that allows the user to select a value using a slider widget.","spec":"https://html.spec.whatwg.org/multipage/forms.html#range-state-(type=range)","status":"ls","links":[{"url":"https://github.com/fryn/html5slider","title":"Polyfill for Firefox"},{"url":"https://github.com/freqdec/fd-slider","title":"Cross-browser polyfill"},{"url":"http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/","title":"Tutorial"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-r…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/range","title":"WebPlatform Docs"},{"url":"https://github.com/andreruffert/rangeslider.js","title":"rangeslider.js polyfill"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Currently all Android browsers with partial support hide the slider input field by default. However, the element [can be styled](http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-st… to be made visible and usable.","notes_by_num":{},"usage_perc_y":93.95,"usage_perc_a":0.2,"ucprefix":false,"parent":"forms","keywords":"input type=\"range\"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"matchmedia":{"title":"matchMedia","description":"API for finding out whether or not a media query applies to the document.","spec":"http://www.w3.org/TR/cssom-view/#dom-window-matchmedia","status":"wd","links":[{"url":"https://github.com/paulirish/matchMedia.js/","title":"matchMedia.js polyfill"},{"url":"https://developer.mozilla.org/en/DOM/window.matchMedia","title":"MDN article"},{"url":"https://developer.mozilla.org/en/CSS/Using_media_queries_from_code","title":"MDN tutorial"},{"url":"http://docs.webplatform.org/wiki/css/media_queries/apis/matchMedia","title":"WebPlatform Docs"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"mediaquerylist","ie_id":"matchmedia","chrome_id":"4677872220372992","firefox_id":"","webkit_id":""},"input-datetime":{"title":"Date and time input types","description":"Form field widget to easily allow users to enter a date, time or both, generally by using a calendar/time input widget.","spec":"https://html.spec.whatwg.org/multipage/forms.html#date-state-(type=date)","status":"ls","links":[{"url":"http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-browser-d…","title":"Datepicker tutorial w/polyfill"},{"url":"https://github.com/zoltan-dulac/html5Forms.js","title":"Polyfill for HTML5 forms"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-d…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/date","title":"WebPlatform Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=888320","title":"Bug on Firefox support"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #1","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n d #4","55":"n d #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2","6.0-6.1":"a #2","7.0-7.1":"a #2","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"a #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n #3","4.1":"n #3","4.2-4.3":"n #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Older versions of Safari provide date-formatted text fields, but no real calendar widget.\r\n\r\nChrome, Opera, and Microsoft Edge also support the `datetime-local` type for both date and time.\r\n\r\nThere used to also be a `datetime` type, but it was [dropped from the HTML spec](https://github.com/whatwg/html/issues/336) since only Presto ever fully supported it.","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 `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."},"usage_perc_y":70.34,"usage_perc_a":9.87,"ucprefix":false,"parent":"forms","keywords":"datepicker,timepicker,input type=\"date\",input type=\"time\",input date,datetime-local","ie_id":"daterelatedinputtypes,timerelatedinputtypes","chrome_id":"6640933999214592","firefox_id":"","webkit_id":""},"document-execcommand":{"title":"Document.execCommand()","description":"Allows running commands to manipulate the contents of an editable region in a document switched to designMode","spec":"https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#execcommand()","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand","title":"MDN"},{"url":"http://codepen.io/netsi1964/pen/QbLLGW","title":"execCommand and queryCommandSupported demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"u","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"n"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"To determine what commands are supported, see `Document.queryCommandSupported()`","notes_by_num":{},"usage_perc_y":85.37,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"document,text,editor,commands,designMode","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-color":{"title":"Color input type","description":"Form field allowing the user to select a color.","spec":"https://html.spec.whatwg.org/multipage/forms.html#color-state-(type=color)","status":"ls","links":[{"url":"http://www.html5tutorial.info/html5-color.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/color-polyfill","title":"Polyfill"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/color","title":"WebPlatform Docs"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":67.31,"usage_perc_a":9.23,"ucprefix":false,"parent":"forms","keywords":"colour,input type=\"color\"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-number":{"title":"Number input type","description":"Form field type for numbers.","spec":"https://html.spec.whatwg.org/multipage/forms.html#number-state-(type=number)","status":"ls","links":[{"url":"http://www.html5tutorial.info/html5-number.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/number-polyfill","title":"Polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-n…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/elements/input/type/number","title":"WebPlatform Docs"},{"url":"https://www.slightfuture.com/webdev/html5-input-number-localization","title":"Poor browser support for localized decimal marks, commas"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #4","15":"y #4"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y #3","30":"y #3","31":"y #3","32":"y #3","33":"y #3","34":"y #3","35":"y #3","36":"y #3","37":"y #3","38":"y #3","39":"y #3","40":"y #3","41":"y #3","42":"y #3","43":"y #3","44":"y #3","45":"y #3","46":"y #3","47":"y #3","48":"y #3","49":"y #3","50":"y #3","51":"y #3","52":"y #3","53":"y #3","54":"y #3","55":"y #3"},"chrome":{"4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1 #2","4.0-4.1":"a #1 #2","4.2-4.3":"a #1 #2","5.0-5.1":"a #1 #2","6.0-6.1":"a #1 #2","7.0-7.1":"a #1 #2","8":"a #1 #2","8.1-8.4":"a #1 #2","9.0-9.2":"a #1 #2","9.3":"a #1 #2","10.0-10.2":"a #1 #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"a #1 #2","4.4.3-4.4.4":"a #1 #2","53":"a #1 #2"},"bb":{"7":"n","10":"a #1 #2"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1 #2"},"and_chr":{"56":"a #1 #2"},"and_ff":{"51":"y #1 #3"},"ie_mob":{"10":"a #1 #2","11":"a #1 #2"},"and_uc":{"11":"a #1 #2"},"samsung":{"4":"a #1 #2"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"UI widget does not include increment/decrement buttons.","2":"UI widget does not take the \"step\", \"min\" or \"max\" attributes into account.","3":"Firefox doesn't support [autocomplete content via datalist](http://codepen.io/graste/pen/bNoVKW) elements.","4":"Does not include increment/decrement buttons, but does supports increment/decrement via arrow up & down keys."},"usage_perc_y":42.87,"usage_perc_a":51.11,"ucprefix":false,"parent":"forms","keywords":"spinner,input type=\"number\"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"getboundingclientrect":{"title":"Element.getBoundingClientRect()","description":"Method to get the size and position of an element's bounding box, relative to the viewport.","spec":"http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientR…","title":"Mozilla Developer Network"},{"url":"https://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx","title":"Microsoft Developer Network"}],"categories":["JS API"],"stats":{"ie":{"5.5":"a #1 #3","6":"a #1 #3","7":"a #1 #3","8":"a #1 #3","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a #1 #4","3.5":"a #2 #4","3.6":"a #2 #3 #4","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":97.76,"usage_perc_a":0.57,"ucprefix":false,"parent":"","keywords":"getBoundingClientRect,bounding,client,rect,DOMRect,box,cssom","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"iframe-sandbox":{"title":"sandbox attribute for iframes","description":"Method of running external site pages with reduced privileges (e.g. no JavaScript) in iframes.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sa…","status":"ls","links":[{"url":"http://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html","title":"Chromium blog article"},{"url":"http://msdn.microsoft.com/en-us/hh563496","title":"MSDN article"},{"url":"http://docs.webplatform.org/wiki/html/attributes/sandbox","title":"WebPlatform Docs"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.89,"usage_perc_a":0.15,"ucprefix":false,"parent":"","keywords":"","ie_id":"iframesandboxattribute","chrome_id":"5715536319086592","firefox_id":"","webkit_id":""},"css-counters":{"title":"CSS Counters","description":"Method of controlling number values in generated content, using the `counter-reset` and `counter-increment` properties.","spec":"http://www.w3.org/TR/CSS21/generate.html#counters","status":"rec","links":[{"url":"http://onwebdev.blogspot.com/2012/02/css-counters-tutorial.html","title":"Tutorial and information"},{"url":"https://developer.mozilla.org/en/CSS_Counters","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/properties/counter-reset","title":"WebPlatform Docs"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":98.32,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-resize":{"title":"CSS resize property","description":"Method of allowing an element to be resized by the user, with options to limit to a given direction. ","spec":"http://www.w3.org/TR/css3-ui/#resize","status":"cr","links":[{"url":"http://css-tricks.com/almanac/properties/r/resize/","title":"CSS Tricks info"},{"url":"http://davidwalsh.name/textarea-resize","title":"On textarea resizing"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Presto-based Opera 12.10+ currently only supports the resize property for textarea elements."},"usage_perc_y":63.16,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"horizontal,vertical","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-placeholder":{"title":"input placeholder attribute","description":"Method of setting placeholder text for text-like input fields, to suggest the expected inserted information.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-placeholder","status":"ls","links":[{"url":"http://www.zachleat.com/web/placeholder/","title":"Article on usage"},{"url":"https://github.com/mathiasbynens/jquery-placeholder","title":"Polyfill"},{"url":"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-attr-p…","title":"has.js test"},{"url":"http://docs.webplatform.org/wiki/html/attributes/placeholder","title":"WebPlatform Docs"},{"url":"https://code.google.com/p/android/issues/detail?id=24626","title":"Issue 24626: Placeholder text for an input type="}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"a #1","11.1":"a #1","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"a","4.1":"a","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial support refers to lacking placeholder support on textarea elements."},"usage_perc_y":97.34,"usage_perc_a":0.24,"ucprefix":false,"parent":"forms","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"spdy":{"title":"SPDY protocol","description":"Networking protocol for low-latency transport of content over the web. Superseded by HTTP version 2.","spec":"http://http2.github.io/http2-spec/index.html","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/HTTP/2","title":"Wikipedia"},{"url":"http://dev.chromium.org/spdy/spdy-whitepaper","title":"SPDY whitepaper"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"n","41":"n","42":"y","43":"n","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"See also support for [HTTP2](http://caniuse.com/#feat=http2), successor of SPDY.\r\n\r\nChrome will be removing support in 2016 (in favor of HTTP2), other browsers likely to follow.","notes_by_num":{},"usage_perc_y":27.22,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"http2","chrome_id":"5152586365665280","firefox_id":"","webkit_id":""},"css-repeating-gradients":{"title":"CSS Repeating Gradients","description":"Method of defining a repeating linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/#repeating-gradients","status":"cr","links":[{"url":"https://developer.mozilla.org/en/CSS/repeating-linear-gradient","title":"MDN article"},{"url":"http://www.css3files.com/gradient/#repeatinglineargradient","title":"Information page"},{"url":"http://docs.webplatform.org/wiki/css/repeating-linear-gradient","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x","11.5":"a x","11.6":"y x","12":"y x","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"a x","11.5":"a x","12":"y x","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Firefox 10+, Chrome 26+ and Opera 11.6+ also support the new \"to (side)\" syntax.","notes_by_num":{},"usage_perc_y":94.14,"usage_perc_a":0.01,"ucprefix":false,"parent":"css-gradients","keywords":"repeating-linear-gradient,repeating-radial-gradient","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-filters":{"title":"CSS Filter Effects","description":"Method of applying filter effects (like blur, grayscale, brightness, contrast and hue) to elements, previously only possible by using SVG.","spec":"http://www.w3.org/TR/filter-effects-1/","status":"wd","links":[{"url":"http://html5-demos.appspot.com/static/css/filters/index.html","title":"Demo file for WebKit browsers"},{"url":"http://www.html5rocks.com/en/tutorials/filters/understanding-css/","title":"HTML5Rocks article"},{"url":"http://dl.dropbox.com/u/3260327/angular/CSS3ImageManipulation.html","title":"Filter editor"},{"url":"http://bennettfeely.com/filters/","title":"Filter Playground"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n d #2 #4","13":"a #4","14":"a #4","15":"a #4"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"a #3","4":"a #3","5":"a #3","6":"a #3","7":"a #3","8":"a #3","9":"a #3","10":"a #3","11":"a #3","12":"a #3","13":"a #3","14":"a #3","15":"a #3","16":"a #3","17":"a #3","18":"a #3","19":"a #3","20":"a #3","21":"a #3","22":"a #3","23":"a #3","24":"a #3","25":"a #3","26":"a #3","27":"a #3","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a d #1","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"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.….","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_c…","4":"Partial support refers to supporting filter functions, but not the `url` function."},"usage_perc_y":86.92,"usage_perc_a":2.01,"ucprefix":false,"parent":"","keywords":"sepia,hue-rotate,invert,saturate,filter:blur","ie_id":"filters","chrome_id":"5822463824887808","firefox_id":"","webkit_id":""},"getcomputedstyle":{"title":"getComputedStyle","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.","spec":"http://www.w3.org/TR/cssom/#dom-window-getcomputedstyle","status":"rec","links":[{"url":"https://developer.mozilla.org/en/DOM/window.getComputedStyle","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/","title":"Demo"},{"url":"http://snipplr.com/view/13523/","title":"Polyfill for IE"},{"url":"http://docs.webplatform.org/wiki/css/cssom/methods/getComputedStyle","title":"WebPlatform Docs"}],"categories":["CSS3","DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"a #1","3.5":"a #1","3.6":"a #1","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #2","3.2":"a #2","4":"a #2","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #2","9.5-9.6":"a #2","10.0-10.1":"a #2","10.5":"a #2","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #2","4.0-4.1":"a #2","4.2-4.3":"a #2","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #2"},"android":{"2.1":"a #2","2.2":"a #2","2.3":"a #2","3":"a #2","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #2","10":"y"},"op_mob":{"10":"a #2","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":94.43,"usage_perc_a":3.5,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mp3":{"title":"MP3 audio format","description":"Popular lossy audio compression format","spec":"http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/MP3","title":"Wikipedia"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{"1":"Partial support in older Firefox refers to being limited to certain operating systems."},"usage_perc_y":94.24,"usage_perc_a":0.19,"ucprefix":false,"parent":"audio","keywords":"mpeg","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"word-break":{"title":"CSS3 word-break","description":"Property to prevent or allow words to be broken over multiple lines between letters.","spec":"http://www.w3.org/TR/css3-text/#word-break","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/word-break","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/properties/word-break","title":"WebPlatform Docs"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"y"},"bb":{"7":"a","10":"a"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"y"},"and_qq":{"1.2":"a"}},"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":{},"usage_perc_y":80.9,"usage_perc_a":13.86,"ucprefix":false,"parent":"","keywords":"break-all,keep-all","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"viewport-units":{"title":"Viewport units: vw, vh, vmin, vmax","description":"Length units representing 1% of the viewport size for viewport width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).","spec":"http://www.w3.org/TR/css3-values/#viewport-relative-lengths","status":"cr","links":[{"url":"http://css-tricks.com/viewport-sized-typography/","title":"Blog post"},{"url":"https://github.com/saabi/vminpoly","title":"Polyfill"},{"url":"https://github.com/rodneyrehm/viewport-units-buggyfill","title":"Buggyfill - Polyfill that fixes buggy support"},{"url":"http://blog.rodneyrehm.de/archives/34-iOS7-Mobile-Safari-And-Viewport-Units…","title":"Back-Forward issue blog post"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a #2","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"a #2 #3","7.0-7.1":"a #3","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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))."},"usage_perc_y":77.43,"usage_perc_a":6.64,"ucprefix":false,"parent":"","keywords":"vm,viewport-percentage","ie_id":"cssvmaxunit","chrome_id":"","firefox_id":"","webkit_id":""},"contentsecuritypolicy":{"title":"Content Security Policy 1.0","description":"Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources.","spec":"http://www.w3.org/TR/2012/CR-CSP-20121115/","status":"cr","links":[{"url":"http://html5rocks.com/en/tutorials/security/content-security-policy/","title":"HTML5Rocks article"},{"url":"http://content-security-policy.com/","title":"CSP Examples & Quick Reference"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y #2","15":"y #2","16":"y #2","17":"y #2","18":"y #2","19":"y #2","20":"y #2","21":"y #2","22":"y #2","23":"y #2","24":"y #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #2","6":"y #2","6.1":"y #2","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2","6.0-6.1":"y #2","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":88.98,"usage_perc_a":4.32,"ucprefix":false,"parent":"","keywords":"csp,security,header","ie_id":"contentsecuritypolicy","chrome_id":"5205088045891584","firefox_id":"","webkit_id":""},"pagevisibility":{"title":"Page Visibility","description":"JavaScript API for determining whether a document is visible on the display","spec":"http://www.w3.org/TR/page-visibility/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API","title":"MDN article"},{"url":"https://docs.webplatform.org/wiki/dom/Document/visibilityState","title":"WebPlatform Docs"},{"url":"http://www.sitepoint.com/introduction-to-page-visibility-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/page-visibility-api-demo.html","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.21,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"visibilitystate,visibilitychange","ie_id":"pagevisibilityapi","chrome_id":"5689697795833856","firefox_id":"page-visibility","webkit_id":""},"stricttransportsecurity":{"title":"Strict Transport Security","description":"Declare that a website is only accessible over a secure connection (HTTPS).","spec":"https://tools.ietf.org/html/rfc6797","status":"other","links":[{"url":"http://dev.chromium.org/sts","title":"Chromium article"},{"url":"https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Sec…","title":"MDN article"},{"url":"https://www.owasp.org/index.php/HTTP_Strict_Transport_Security","title":"OWASP article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"The HTTP header is 'Strict-Transport-Security'.","notes_by_num":{"1":"IE 11 added support [in an update](http://blogs.windows.com/msedgedev/2015/06/09/http-strict-transport… on June 9, 2015"},"usage_perc_y":83.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"sts,hsts,security,header","ie_id":"httpstricttransportsecurityhsts","chrome_id":"4941480133132288","firefox_id":"","webkit_id":""},"style-scoped":{"title":"Scoped CSS","description":"Allows CSS rules to be scoped to part of the document, based on the position of the style element. The attribute has been [removed from the current specification](https://github.com/whatwg/html/issues/552).","spec":"https://www.w3.org/TR/html51/document-metadata.html#element-attrdef-style-s…","status":"unoff","links":[{"url":"https://github.com/PM5544/scoped-polyfill","title":"Polyfill"},{"url":"http://html5doctor.com/the-scoped-attribute/","title":"HTML5 Doctor article"},{"url":"http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scop…","title":"HTML5Rocks article"}],"categories":["CSS","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n d #1","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags"},"usage_perc_y":15.75,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"scope","ie_id":"scopedstyles","chrome_id":"5374137958662144","firefox_id":"","webkit_id":""},"svg-fragment":{"title":"SVG fragment identifiers","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.","spec":"http://www.w3.org/TR/SVG/linking.html#SVGFragmentIdentifiers","status":"rec","links":[{"url":"http://www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-ide…","title":"Blog post"}],"categories":["SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"a #1"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Partial support refers to support inside `<img>` but not as CSS `background-image`"},"usage_perc_y":66.9,"usage_perc_a":6.8,"ucprefix":false,"parent":"","keywords":"fragments,sprite,svg,use","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"outline":{"title":"CSS outline","description":"The CSS outline property is a shorthand property for setting one or more of the individual outline properties outline-style, outline-width and outline-color in a single rule. In most cases the use of this shortcut is preferable and more convenient.","spec":"http://www.w3.org/TR/CSS2/ui.html#propdef-outline","status":"rec","links":[{"url":"http://dev.w3.org/csswg/css3-ui/#outline","title":"CSS Basic User Interface Module Level 3"},{"url":"https://developer.mozilla.org/en-US/docs/CSS/outline","title":"Mozilla Developer Network: outline"}],"categories":["CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y #1","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Also supports the value of `invert` for `outline-color`. (support of this value is optional for browsers)"},"usage_perc_y":95.02,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"-moz-outline,outline-width,outline-style,outline-color","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"download":{"title":"Download attribute","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.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#downloading-resources","status":"ls","links":[{"url":"http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-down…","title":"HTML5Rocks post"},{"url":"http://html5-demos.appspot.com/static/a.download.html","title":"Demo: creating a text file and downloading it."},{"url":"https://bugs.webkit.org/show_bug.cgi?id=102914","title":"WebKit feature request bug"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":67.5,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"download,a.download,a[download],download attribute","ie_id":"adownloadattribute","chrome_id":"6473924464345088","firefox_id":"","webkit_id":"feature-download-attribute"},"pointer":{"title":"Pointer events","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.","spec":"http://www.w3.org/TR/pointerevents/","status":"rec","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metr…","title":"Implementation of Pointer Events in IE10"},{"url":"http://blogs.msdn.com/b/eternalcoding/archive/2013/01/16/hand-js-a-polyfill…","title":"Hand.js, the polyfill for browsers only supporting Touch Events"},{"url":"http://blogs.msdn.com/b/davrous/archive/2013/02/20/handling-touch-in-your-h…","title":"Article & tutorial"},{"url":"http://deeptissuejs.com","title":"Abstraction library for pointer events"},{"url":"https://github.com/jquery/PEP","title":"PEP: Pointer Events Polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p d #2","42":"p d #2","43":"p d #2","44":"p d #2","45":"p d #2","46":"p d #2","47":"p d #2","48":"p d #2","49":"p d #2","50":"p d #2","51":"p d #2","52":"p d #2","53":"p d #2","54":"p d #2","55":"p d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p d #3","53":"p d #3","54":"p d #3","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p d #3","40":"p d #3","41":"p d #3","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"p"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"n","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"p"},"and_chr":{"56":"y"},"and_ff":{"51":"p d #2"},"ie_mob":{"10":"a x","11":"y"},"and_uc":{"11":"p"},"samsung":{"4":"p"},"and_qq":{"1.2":"p d #3"}},"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 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-nigh…. 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."},"usage_perc_y":55.14,"usage_perc_a":0.32,"ucprefix":false,"parent":"","keywords":"pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerenter,pointerleave","ie_id":"pointerevents","chrome_id":"4504699138998272","firefox_id":"pointer-events","webkit_id":""},"user-select-none":{"title":"CSS user-select: none","description":"Method of preventing text/element selection using CSS. ","spec":"https://drafts.csswg.org/css-ui-4/#valdef-user-select-none","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/CSS/user-select","title":"MDN article"},{"url":"http://css-tricks.com/almanac/properties/u/user-select/","title":"CSS Tricks article"},{"url":"http://msdn.microsoft.com/en-us/library/ie/hh781492(v=vs.85).aspx","title":"MSDN Documentation"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x","11":"y x"},"edge":{"12":"y x","13":"y x","14":"y x","15":"y x"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y"},"and_ff":{"51":"y x"},"ie_mob":{"10":"y x","11":"y x"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{},"usage_perc_y":94.24,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-file-accept":{"title":"accept attribute for file input","description":"Allows a filter to be defined for what type of files a user may pick with from an `<input type=\"file\">` dialog","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-accept","status":"ls","links":[{"url":"http://www.wufoo.com/html5/attributes/07-accept.html","title":"Demo & information"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"u","6":"u","7":"u","8":"u","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"u","22":"u","23":"u","24":"u","25":"u","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n #3","4.0-4.1":"n #3","4.2-4.3":"n #3","5.0-5.1":"n #3","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #2","4":"a #2","4.1":"a #2","4.2-4.3":"a #2","4.4":"n #3","4.4.3-4.4.4":"n #3","53":"n #3"},"bb":{"7":"a #2","10":"a #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"n #3","11":"a #4"},"and_uc":{"11":"n"},"samsung":{"4":"a #2"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":38.27,"usage_perc_a":42.61,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webp":{"title":"WebP image format","description":"Image format that supports lossy and lossless compression, as well as animation and alpha transparency.","spec":"https://developers.google.com/speed/webp/","status":"unoff","links":[{"url":"https://developers.google.com/speed/webp/","title":"Official website"},{"url":"http://antimatter15.github.io/weppy/demo.html","title":"Polyfill for browsers with WebM support"},{"url":"http://libwebpjs.appspot.com/","title":"Decoder in JS"},{"url":"http://webpjs.appspot.com/","title":"Polyfill for browsers with or without WebM support (i.e. IE6-IE9, Safari/iOS version 6.1 and below; Firefox versions 24 and bel"},{"url":"https://developers.google.com/speed/webp/faq#which_web_browsers_natively_su…","title":"Official website FAQ - Which web browsers natively support WebP?"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p"},"chrome":{"4":"n","5":"n","6":"p","7":"p","8":"p","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"p","11":"p","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #1","4.1":"a #1","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"a #1","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Both [Safari](https://www.cnet.com/news/apple-ios-macos-tests-googles-webp-graphi… & [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1294490) are experimenting with supporting WebP images.\r\n\r\nAnimated WebP images are supported in Chrome 32+ and Opera 19+.","notes_by_num":{"1":"Partial support in older Chrome, Opera and Android refers to browsers not supporting lossless and alpha versions of WebP."},"usage_perc_y":72.32,"usage_perc_a":0.37,"ucprefix":false,"parent":"","keywords":"","ie_id":"webpimageformat","chrome_id":"6471725441089536,4785074604081152","firefox_id":"","webkit_id":""},"input-autocomplete-onoff":{"title":"autocomplete attribute: on & off values","description":"The `autocomplete` attribute for `input` elements indicates to the browser whether a value should or should not be autofilled when appropriate.","spec":"https://html.spec.whatwg.org/multipage/forms.html#autofill","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autoco…","title":"MDN article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"a #3","50":"a #3","51":"a #3","52":"a #3","53":"a #3","54":"a #3","55":"a #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2","60":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"a #5","7.1":"a #5","8":"a #5","9":"a #5","9.1":"a #5","10":"a #5","10.1":"a #5","TP":"a #5"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y #4","6.0-6.1":"y #4","7.0-7.1":"y #4","8":"y #4","8.1-8.4":"y #4","9.0-9.2":"y #4","9.3":"y #4","10.0-10.2":"y #4"},"op_mini":{"all":"y #4"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #5","11":"a #5"},"and_uc":{"11":"y #4"},"samsung":{"4":"y"},"and_qq":{"1.2":"a #2"}},"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/troubleshootin…","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](http://stackoverflow.com/questions/22661977/disabling-safari-autofi…"},"usage_perc_y":56.43,"usage_perc_a":41.81,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"intrinsic-width":{"title":"Intrinsic & Extrinsic Sizing","description":"Allows for the heights and widths to be specified in intrinsic values using the `fill`, `max-content`, `min-content`, and `fit-content` properties.","spec":"http://www.w3.org/TR/css3-sizing/","status":"wd","links":[{"url":"http://demosthenes.info/blog/662/Design-From-the-Inside-Out-With-CSS-MinCon…","title":"Min-Content tutorial"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"a x #1 #2 #3","3.5":"a x #1 #2 #3","3.6":"a x #1 #2 #3","4":"a x #1 #2 #3","5":"a x #1 #2 #3","6":"a x #1 #2 #3","7":"a x #1 #2 #3","8":"a x #1 #2 #3","9":"a x #1 #2 #3","10":"a x #1 #2 #3","11":"a x #1 #2 #3","12":"a x #1 #2 #3","13":"a x #1 #2 #3","14":"a x #1 #2 #3","15":"a x #1 #2 #3","16":"a x #1 #2 #3","17":"a x #1 #2 #3","18":"a x #1 #2 #3","19":"a x #1 #2 #3","20":"a x #1 #2 #3","21":"a x #1 #2 #3","22":"a x #1 #2 #3","23":"a x #1 #2 #3","24":"a x #1 #2 #3","25":"a x #1 #2 #3","26":"a x #1 #2 #3","27":"a x #1 #2 #3","28":"a x #1 #2 #3","29":"a x #1 #2 #3","30":"a x #1 #2 #3","31":"a x #1 #2 #3","32":"a x #1 #2 #3","33":"a x #1 #2 #3","34":"a x #1 #2 #3","35":"a x #1 #2 #3","36":"a x #1 #2 #3","37":"a x #1 #2 #3","38":"a x #1 #2 #3","39":"a x #1 #2 #3","40":"a x #1 #2 #3","41":"a x #1 #2 #3","42":"a x #1 #2 #3","43":"a x #1 #2 #3","44":"a x #1 #2 #3","45":"a x #1 #2 #3","46":"a x #1 #2 #3","47":"a x #1 #2 #3","48":"a x #1 #2 #3","49":"a x #1 #2 #3","50":"a x #1 #2 #3","51":"a x #1 #2 #3","52":"a x #1 #2 #3","53":"a x #1 #2 #3","54":"a x #1 #2 #3","55":"a x #1 #2 #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y x #3","23":"y x #3","24":"y x #3","25":"y x #3","26":"y x #3","27":"y x #3","28":"y x #3","29":"y x #3","30":"y x #3","31":"y x #3","32":"y x #3","33":"y x #3","34":"y x #3","35":"y x #3","36":"y x #3","37":"y x #3","38":"y x #3","39":"y x #3","40":"y x #3","41":"y x #3","42":"y x #3","43":"y x #3","44":"y x #3","45":"y x #3","46":"y #3 #4","47":"y #3 #4","48":"y #3 #4","49":"y #3 #4","50":"y #3 #4","51":"y #3 #4","52":"y #3 #4","53":"y #3 #4","54":"y #3 #4","55":"y #3 #4","56":"y #3 #4","57":"y #3 #4","58":"y #3 #4","59":"y #3 #4","60":"y #3 #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a x #1 #3","7":"a x #1 #3","7.1":"a x #1 #3","8":"a x #1 #3","9":"a x #3","9.1":"a x #3","10":"a x #3","10.1":"a x #3","TP":"a x #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x #3","16":"y x #3","17":"y x #3","18":"y x #3","19":"y x #3","20":"y x #3","21":"y x #3","22":"y x #3","23":"y x #3","24":"y x #3","25":"y x #3","26":"y x #3","27":"y x #3","28":"y x #3","29":"y x #3","30":"y x #3","31":"y x #3","32":"y x #3","33":"y #3 #4","34":"y #3","35":"y #3 #4","36":"y #3 #4","37":"y #3 #4","38":"y #3 #4","39":"y #3 #4","40":"y #3 #4","41":"y #3 #4","42":"y #3 #4","43":"y #3 #4","44":"y #3 #4","45":"y #3 #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a x #1 #3","8":"a x #1 #3","8.1-8.4":"a x #1 #3","9.0-9.2":"a x #3","9.3":"a x #3","10.0-10.2":"a x #3"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x #3","4.4.3-4.4.4":"y x #3","53":"y #3 #4"},"bb":{"7":"n","10":"y x #3"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y #3 #4"},"and_chr":{"56":"y #3 #4"},"and_ff":{"51":"a x #1 #2 #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x #3"},"and_qq":{"1.2":"y x #3"}},"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":"Does not support for height/min-height/max-height property, only width. [see test case](http://codepen.io/shshaw/pen/Kiwaz) [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=567039)","2":"Firefox currently supports the \"-moz-available\" property rather than \"-moz-fill\".","3":"Does not support for \"flex-basis\" property. [see specs](http://www.w3.org/TR/2015/WD-css-flexbox-1-20150514/#flex-basis-prop… bug](https://codereview.chromium.org/1304853002/),[Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1055887)","4":"This does not yet unprefix fill-available (aka fill)[See bug](https://chromium.googlesource.com/chromium/blink.git/+/bf119cdfece210e…, because the [CSSWG](https://lists.w3.org/Archives/Public/www-style/2015Aug/0127.html) is not ready for that yet."},"usage_perc_y":59.26,"usage_perc_a":18.72,"ucprefix":false,"parent":"","keywords":"fill,fill-available,max-content,min-content,fit-content,contain-floats,intrinsic,extrinsic,sizing","ie_id":"cssintrinsicsizing","chrome_id":"5901353784180736","firefox_id":"","webkit_id":""},"cryptography":{"title":"Web Cryptography","description":"JavaScript API for performing basic cryptographic operations in web applications","spec":"http://www.w3.org/TR/WebCryptoAPI/","status":"cr","links":[{"url":"http://www.slideshare.net/Channy/the-history-and-status-of-web-crypto-api","title":"The History and Status of Web Crypto API"},{"url":"http://research.microsoft.com/en-us/projects/msrjscrypto/","title":"Microsoft Research JavaScript Cryptography Library"},{"url":"http://bitwiseshiftleft.github.io/sjcl/","title":"Cross-browser cryptography library"},{"url":"https://docs.google.com/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidU…","title":"Support for recommended algorithms in Firefox"},{"url":"https://github.com/Netflix/NfWebCrypto","title":"Polyfill by Netflix with partial support"},{"url":"https://github.com/GlobalSign/PKI.js","title":"PKI.js - another crypto library for Public Key Infrastructure applications"},{"url":"https://diafygi.github.io/webcrypto-examples/","title":"Test suite for various algorithms/methods"},{"url":"https://github.com/vibornoff/webcrypto-shim","title":"Web Cryptography API shim for IE11 and Safari - set of bugfixes and workarounds of prefixed api implementations"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"a x #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"n d #2","33":"n d #2","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"y x #3","8":"y x #3","9":"y x #3","9.1":"y x #3","10":"y x #3","10.1":"y x #3","TP":"y x #3"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"y x #3","8.1-8.4":"y x #3","9.0-9.2":"y x #3","9.3":"y x #3","10.0-10.2":"y x #3"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"p","53":"y"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"p","11":"a x #1"},"and_uc":{"11":"p"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Many browsers support the `[crypto.getRandomValues()](#feat=getrandomvalues)` method, but not actual cryptography functionality under `crypto.subtle`. \r\n\r\nFirefox also has support for [unofficial features](https://developer.mozilla.org/en-US/docs/JavaScript_crypto). \r\n\r\nIn Chrome the API is only usable over secure connections. ([corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032))","notes_by_num":{"1":"Support in IE11 is based an older version of the specification.","2":"Supported in Firefox behind the `dom.webcrypto.enabled` flag.","3":"Supported in Safari using the `crypto.webkitSubtle` prefix."},"usage_perc_y":76.58,"usage_perc_a":3.95,"ucprefix":false,"parent":"","keywords":"subtle,subtlecrypto","ie_id":"webcryptoapi","chrome_id":"5030265697075200","firefox_id":"","webkit_id":"specification-webcrypto"},"template":{"title":"HTML templates","description":"Method of declaring a portion of reusable markup that is parsed but not rendered until cloned.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#the-template-element","status":"ls","links":[{"url":"http://www.html5rocks.com/en/tutorials/webcomponents/template/","title":"HTML5Rocks - HTML's New template Tag"},{"url":"http://polymer-project.org","title":"Polymer project (polyfill & web components framework)"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":78.98,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components, template","ie_id":"templateelement","chrome_id":"5207287069147136","firefox_id":"html-templates","webkit_id":"feature-template-element"},"opus":{"title":"Opus","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.","spec":"https://tools.ietf.org/html/rfc6716","status":"other","links":[{"url":"https://hacks.mozilla.org/2012/07/firefox-beta-15-supports-the-new-opus-aud…","title":"Introduction of Opus by Mozilla"},{"url":"http://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html","title":"Google's statement about the use of VP8 and Opus codec for WebRTC standard"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Support refers to use using 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":{},"usage_perc_y":61.69,"usage_perc_a":0,"ucprefix":false,"parent":"audio","keywords":"","ie_id":"opusaudioplayback","chrome_id":"4891189287321600","firefox_id":"","webkit_id":""},"jpegxr":{"title":"JPEG XR image format","description":"The latest JPEG image format of Joint Photographic Experts Group which boasts better compression and supports lossless compression, alpha channel, and 48-bit deep color over normal jpg format.","spec":"http://www.itu.int/rec/T-REC-T.832","status":"other","links":[{"url":"http://msdn.microsoft.com/en-us/library/windows/desktop/hh707223(v=vs.85).a…","title":"Microsoft JPEG XR Codec Overview"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=500500","title":"Firefox support bug"},{"url":"https://code.google.com/p/chromium/issues/detail?id=56908","title":"Chrome support bug (marked as WONTFIX)"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":6.2,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"channel-messaging":{"title":"Channel messaging","description":"Method for having two-way communication between browsing contexts (using MessageChannel)","spec":"https://html.spec.whatwg.org/multipage/comms.html#channel-messaging","status":"ls","links":[{"url":"https://dev.opera.com/articles/view/window-postmessage-messagechannel/#chan…","title":"An Introduction to HTML5 web messaging"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"u","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Firefox behind the `dom.messageChannel.enabled` flag. Reported to not work in web workers before version 41."},"usage_perc_y":93.06,"usage_perc_a":0,"ucprefix":false,"parent":"x-doc-messaging","keywords":"","ie_id":"messagechannels","chrome_id":"6710044586409984","firefox_id":"","webkit_id":""},"css3-tabsize":{"title":"CSS3 tab-size","description":"Method of customizing the width of the tab character. Only effective using 'white-space: pre' or 'white-space: pre-wrap'.","spec":"http://www.w3.org/TR/css3-text/#tab-size","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size","title":"MDN article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"a x #1","11":"a x #1","11.1":"a x #1","11.5":"a x #1","11.6":"a x #1","12":"a x #1","12.1":"a x #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a x #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"n","11":"a x #1","11.1":"a x #1","11.5":"a x #1","12":"a x #1","12.1":"a x #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Partial refers to supporting `<integer>` but not `<length>` values."},"usage_perc_y":56.71,"usage_perc_a":24.69,"ucprefix":false,"parent":"","keywords":"tab-size,tab-width","ie_id":"csstabsizeproperty","chrome_id":"","firefox_id":"","webkit_id":""},"mutationobserver":{"title":"Mutation Observer","description":"Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated.","spec":"https://dom.spec.whatwg.org/#mutation-observers","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver","title":"MutationObserver from MDN"},{"url":"https://github.com/webcomponents/webcomponentsjs","title":"Polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"p","10":"p","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"p","4.1":"p","4.2-4.3":"p","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"y"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"When the content of a node with a single CharacterData child node is changed by innerHTML attribute and the node have a single different one as a result, WebKit browsers consider it as a characterData mutation of the child CharacterData node, while other browsers think it as a childList mutation of the parent node.","notes_by_num":{},"usage_perc_y":92.84,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"MutationObserver","ie_id":"mutationobservers","chrome_id":"5021194726146048","firefox_id":"","webkit_id":""},"css-selection":{"title":"::selection CSS pseudo-element","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.","spec":"http://www.w3.org/TR/css-pseudo-4/#selectordef-selection","status":"wd","links":[{"url":"http://quirksmode.org/css/selectors/selection.html","title":"::selection test"},{"url":"http://docs.webplatform.org/wiki/css/selectors/pseudo-elements/::selection","title":"WebPlatform Docs"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y x"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":74.84,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"::selection,selection","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-placeholder":{"title":"::placeholder CSS pseudo-element","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.","spec":"http://dev.w3.org/csswg/css-pseudo-4/#placeholder-pseudo","status":"wd","links":[{"url":"http://msdn.microsoft.com/en-us/library/ie/hh772745(v=vs.85).aspx","title":"MSDN article"},{"url":"http://css-tricks.com/snippets/css/style-placeholder-text/","title":"CSS-Tricks article with all prefixes"},{"url":"http://wiki.csswg.org/ideas/placeholder-styling","title":"CSSWG discussion"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::-moz-placeholder","title":"MDN article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1069012","title":"Mozilla Bug 1069012 - unprefix :placeholder-shown pseudo-class and ::placeholder pseudo-element"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x","11":"a x"},"edge":{"12":"a x","13":"a x","14":"a x","15":"a x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x","10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"a x","35":"a x","36":"a x","37":"a x","38":"a x","39":"a x","40":"a x","41":"a x","42":"a x","43":"a x","44":"a x","45":"a x","46":"a x","47":"a x","48":"a x","49":"a x","50":"a x","51":"a x","52":"a x","53":"a x","54":"a x","55":"a x","56":"a x","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a x","5.1":"a x","6":"a x","6.1":"a x","7":"a x","7.1":"a x","8":"a x","9":"a x","9.1":"a x","10":"a x","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"a x","35":"a x","36":"a x","37":"a x","38":"a x","39":"a x","40":"a x","41":"a x","42":"a x","43":"a x","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a x","5.0-5.1":"a x","6.0-6.1":"a x","7.0-7.1":"a x","8":"a x","8.1-8.4":"a x","9.0-9.2":"a x","9.3":"a x","10.0-10.2":"a x"},"op_mini":{"all":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x","4.1":"a x","4.2-4.3":"a x","4.4":"a x","4.4.3-4.4.4":"a x","53":"a x"},"bb":{"7":"a x","10":"a x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x"},"and_chr":{"56":"a x"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x","11":"a x"},"and_uc":{"11":"a x"},"samsung":{"4":"a x"},"and_qq":{"1.2":"a x"}},"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 IE. \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."},"usage_perc_y":6.67,"usage_perc_a":87.48,"ucprefix":false,"parent":"","keywords":"::placeholder,placeholder","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-deviceadaptation":{"title":"CSS Device Adaptation","description":"A standard way to override the size of viewport in web page using the `@viewport` rule, standardizing and replacing Apple's own popular `<meta>` viewport implementation.","spec":"http://www.w3.org/TR/css-device-adapt/","status":"wd","links":[{"url":"https://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-vi…","title":"Introduction to meta viewport and @viewport in Opera Mobile"},{"url":"http://msdn.microsoft.com/en-us/library/ie/hh708740(v=vs.85).aspx","title":"Device adaptation in Internet Explorer 10"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://code.google.com/p/chromium/issues/detail?id=155477","title":"Chrome tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=95959","title":"WebKit tracking bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=747754","title":"Mozilla tracking bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1","11":"a x #1"},"edge":{"12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d","30":"n d","31":"n d","32":"n d","33":"n d","34":"n d","35":"n d","36":"n d","37":"n d","38":"n d","39":"n d","40":"n d","41":"n d","42":"n d","43":"n d","44":"n d","45":"n d","46":"n d","47":"n d","48":"n d","49":"n d","50":"n d","51":"n d","52":"n d","53":"n d","54":"n d","55":"n d","56":"n d","57":"n d","58":"n d","59":"n d","60":"n d"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n d","41":"n d","42":"n d","43":"n d","44":"n d","45":"n d"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"a x #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"a x #2","11.1":"a x #2","11.5":"a x #2","12":"a x #2","12.1":"a x #2","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"a x #1","11":"a x #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d"}},"notes":"","notes_by_num":{"1":"IE only supports the 'width' and 'height' properties.","2":"Opera Mobile and Opera Mini only support the 'orientation' property."},"usage_perc_y":0,"usage_perc_a":9.26,"ucprefix":false,"parent":"","keywords":"viewport","ie_id":"","chrome_id":"4737164243894272","firefox_id":"","webkit_id":""},"text-emphasis":{"title":"text-emphasis styling","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.","spec":"https://drafts.csswg.org/css-text-decor-3/#text-emphasis-property","status":"cr","links":[{"url":"https://github.com/zmmbreeze/jquery.emphasis/","title":"A javascript fallback for CSS3 emphasis mark."},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis","title":"Mozilla Developer Network"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n d #2","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a x #1","7":"a x #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"n","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"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"},"usage_perc_y":17.71,"usage_perc_a":68.45,"ucprefix":false,"parent":"","keywords":"text-emphasis,text-emphasis-position,text-emphasis-style,text-emphasis-color","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"midi":{"title":"Web MIDI API","description":"The Web MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices","spec":"http://webaudio.github.io/web-midi-api/","status":"wd","links":[{"url":"https://github.com/cwilso/WebMIDIAPIShim","title":"Polyfill"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=836897","title":"Firefox bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":56.66,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"webmidiapi","chrome_id":"4923613069180928","firefox_id":"","webkit_id":""},"canvas-blending":{"title":"Canvas blend modes","description":"Method of defining the effect resulting from overlaying two layers on a Canvas element.","spec":"http://www.w3.org/TR/compositing-1/#blending","status":"cr","links":[{"url":"http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/","title":"Blog post"}],"categories":["Canvas"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":79.23,"usage_perc_a":0,"ucprefix":false,"parent":"canvas","keywords":"","ie_id":"compositingandblendingincanvas2d","chrome_id":"","firefox_id":"","webkit_id":""},"clipboard":{"title":"Clipboard API","description":"API to provide copy, cut and paste events as well as provide access to the OS clipboard.","spec":"http://www.w3.org/TR/clipboard-apis/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent","title":"MDN page on ClipboardEvent"},{"url":"https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pas…","title":"Guide on cross-platform clipboard access"}],"categories":["JS API"],"stats":{"ie":{"5.5":"a #1 #2 #5","6":"a #1 #2 #5","7":"a #1 #2 #5","8":"a #1 #2 #5","9":"a #1 #2 #5","10":"a #1 #2 #5","11":"a #1 #2 #5"},"edge":{"12":"a #1 #2 #5","13":"a #1 #2 #5","14":"a #1 #2 #5","15":"a #1 #2 #5"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2 #3","40":"a #2 #3","41":"a #6","42":"a #6","43":"a #6","44":"a #6","45":"a #6","46":"a #6","47":"a #6","48":"a #6","49":"a #6","50":"a #6","51":"a #6","52":"a #6","53":"a #6","54":"a #6","55":"a #6"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"a #3 #5","14":"a #3 #5","15":"a #3 #5","16":"a #3 #5","17":"a #3 #5","18":"a #3 #5","19":"a #3 #5","20":"a #3 #5","21":"a #3 #5","22":"a #3 #5","23":"a #3 #5","24":"a #3 #5","25":"a #3 #5","26":"a #3 #5","27":"a #3 #5","28":"a #3 #5","29":"a #3 #5","30":"a #3 #5","31":"a #3 #5","32":"a #3 #5","33":"a #3 #5","34":"a #3 #5","35":"a #3 #5","36":"a #3 #5","37":"a #3 #5","38":"a #3 #5","39":"a #3 #5","40":"a #3 #5","41":"a #3 #5","42":"a #3 #5","43":"a #5 #7","44":"a #5 #7","45":"a #5 #7","46":"a #5 #7","47":"a #5 #7","48":"a #5 #7","49":"a #5 #7","50":"a #5 #7","51":"a #5 #7","52":"a #5 #7","53":"a #5 #7","54":"a #5 #7","55":"a #5 #7","56":"a #5 #7","57":"a #5 #7","58":"a #5 #7","59":"a #5 #7","60":"a #5 #7"},"safari":{"3.1":"u","3.2":"u","4":"a #2 #3 #5","5":"a #2 #3 #5","5.1":"a #2 #3 #5","6":"a #2 #3 #5","6.1":"a #2 #3 #5","7":"a #2 #3 #5","7.1":"a #2 #3 #5","8":"a #2 #3 #5","9":"a #2 #3 #5","9.1":"a #2 #3 #5","10":"a #2 #5","10.1":"a #2 #5","TP":"a #2 #5"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"a #3","15":"a #3 #5","16":"a #3 #5","17":"a #3 #5","18":"a #3 #5","19":"a #3 #5","20":"a #3 #5","21":"a #3 #5","22":"a #3 #5","23":"a #3 #5","24":"a #3 #5","25":"a #3 #5","26":"a #3 #5","27":"a #3 #5","28":"a #3 #5","29":"a #3 #5","30":"a #5 #7","31":"a #5 #7","32":"a #5 #7","33":"a #5 #7","34":"a #5 #7","35":"a #5 #7","36":"a #5 #7","37":"a #5 #7","38":"a #5 #7","39":"a #5 #7","40":"a #5 #7","41":"a #5 #7","42":"a #5 #7","43":"a #5 #7","44":"a #5 #7","45":"a #5 #7"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2 #3 #5","6.0-6.1":"a #2 #3 #5","7.0-7.1":"a #2 #3 #5","8":"a #2 #3 #5","8.1-8.4":"a #2 #3 #5","9.0-9.2":"a #2 #3 #5","9.3":"a #2 #3 #5","10.0-10.2":"a #2 #3 #5"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a #2 #5","4.4.3-4.4.4":"a #2 #5","53":"a #2 #5"},"bb":{"7":"n","10":"a #2 #5"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"u","37":"a #4 #5"},"and_chr":{"56":"a #5"},"and_ff":{"51":"a #4"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a #2 #5"},"and_qq":{"1.2":"a #5 #7"}},"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).\r\n\r\nFirefox 40- users [can enable support](https://developer.mozilla.org/en-US/docs/Midas/Security_preference… with a security preference setting.","notes_by_num":{"1":"Only supports `Text` and `URL` data types and uses [a non-standard method](http://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.as… 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')` "},"usage_perc_y":0,"usage_perc_a":84.24,"ucprefix":false,"parent":"","keywords":"cut,copy,paste,clipboarddata,clipboardevent","ie_id":"clipboardapi","chrome_id":"","firefox_id":"","webkit_id":""},"rtcpeerconnection":{"title":"WebRTC Peer-to-peer connections","description":"Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API.","spec":"https://w3c.github.io/webrtc-pc/","status":"wd","links":[{"url":"http://www.webrtc.org/","title":"WebRTC Project site"},{"url":"https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins","title":"Plug-in for support in IE & Safari"},{"url":"http://www.html5labs.com/prototypes/object-rtc/object-rtc/info","title":"Prototype implementation for ORTC"},{"url":"https://blogs.windows.com/msedgedev/2017/01/31/introducing-webrtc-microsoft…","title":"Introducing WebRTC 1.0 and interoperable real-time communications in Microsoft Edge"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y x"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"Microsoft also offers a compatible implementation known as [ObjectRTC](http://blogs.msdn.com/b/ie/archive/2014/10/27/bringing-interoper…. See [Object RTC](http://caniuse.com/#feat=objectrtc) for support details for that API.","notes_by_num":{"1":"BlackBerry 10 recognizes RTCPeerConnection but real support is unconfirmed.","2":"Can be enabled via the \"Enable WebRTC 1.0\" flag"},"usage_perc_y":64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"webrtcwebrtcv10api","chrome_id":"6612462929444864","firefox_id":"webrtc","webkit_id":"specification-webrtc"},"css3-cursors":{"title":"CSS3 Cursors (original values)","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. ","spec":"http://www.w3.org/TR/css3-ui/#cursor","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/cursor","title":"MDN Documentation"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"a #2","13":"a #2","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #2","9.5-9.6":"a #2","10.0-10.1":"a #2","10.5":"a #2","10.6":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"u"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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'."},"usage_perc_y":42.99,"usage_perc_a":0.88,"ucprefix":false,"parent":"","keywords":"cursors, pointers","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-cursors-newer":{"title":"CSS3 Cursors: zoom-in & zoom-out","description":"Support for `zoom-in`, `zoom-out` values for the CSS3 `cursor` property.","spec":"http://www.w3.org/TR/css3-ui/#cursor","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/cursor","title":"MDN Documentation"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":39.37,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"cursors, pointers","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webvtt":{"title":"WebVTT - Web Video Text Tracks","description":"Format for marking up text captions for multimedia resources.","spec":"https://w3c.github.io/webvtt/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/track/basics/","title":"Getting Started With the Track Element"},{"url":"https://dev.opera.com/articles/view/an-introduction-to-webvtt-and-track/","title":"An Introduction to WebVTT and track"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d","25":"n d","26":"n d","27":"n d","28":"n d","29":"n d","30":"n d","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"WebVTT must be used with the <track> element.","notes_by_num":{"1":"Firefox currently lacks support for the `::cue` pseudo-element. [See bug #865395.](https://bugzilla.mozilla.org/show_bug.cgi?id=865395)"},"usage_perc_y":83.57,"usage_perc_a":0,"ucprefix":false,"parent":"video","keywords":"captions,track,vtt,subtitles","ie_id":"","chrome_id":"6719115557339136","firefox_id":"","webkit_id":""},"promises":{"title":"Promises","description":"A promise represents the eventual result of an asynchronous operation.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects","status":"other","links":[{"url":"http://promises-aplus.github.io/promises-spec/","title":"Promises/A+ spec"},{"url":"http://www.chromestatus.com/features/5681726336532480","title":"Chromium dashboard - ES6 Promises"},{"url":"http://www.html5rocks.com/en/tutorials/es6/promises/","title":"JavaScript Promises: There and back again - HTML5 Rocks"},{"url":"https://github.com/jakearchibald/ES6-Promises","title":"A polyfill for ES6-style Promises"}],"categories":["JS API"],"stats":{"ie":{"5.5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"a","28":"a","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"p","26":"p","27":"p","28":"p","29":"p","30":"p","31":"p","32":"a","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p","6.1":"p","7":"p","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"p","9.5-9.6":"p","10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"p","16":"p","17":"p","18":"p","19":"a","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"p","7.0-7.1":"p","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"p","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"p"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":77.59,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"futures","ie_id":"","chrome_id":"5681726336532480","firefox_id":"promise","webkit_id":"feature-promise-objects"},"css-sticky":{"title":"CSS position:sticky","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.","spec":"https://drafts.csswg.org/css-position/#sticky-pos","status":"wd","links":[{"url":"http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-l…","title":"HTML5Rocks"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/position","title":"MDN article"},{"url":"http://docs.webplatform.org/wiki/css/properties/position","title":"WebPlatform Docs"},{"url":"https://github.com/filamentgroup/fixed-sticky","title":"Polyfill"},{"url":"https://github.com/wilddeer/stickyfill","title":"Another polyfill"},{"url":"http://gedd.ski/post/position-sticky/","title":"geddski article: Examples and Gotchas"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n d #2","40":"n d #2","41":"n d #2","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #2"}},"notes":"","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"},"usage_perc_y":61.89,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"positionsticky","chrome_id":"6190250464378880","firefox_id":"","webkit_id":"feature-position:-sticky"},"dialog":{"title":"Dialog element","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element","status":"ls","links":[{"url":"https://github.com/GoogleChrome/dialog-polyfill","title":"Polyfill"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n d #3","20":"n d #3","21":"n d #3","22":"n d #3","23":"n d #3","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`"},"usage_perc_y":56.91,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"HTMLDialogElement,showModal,backdrop","ie_id":"dialogelementformodals","chrome_id":"5770237022568448","firefox_id":"","webkit_id":""},"css-variables":{"title":"CSS Variables (Custom Properties)","description":"Permits the declaration and usage of cascading variables in stylesheets.","spec":"https://drafts.csswg.org/css-variables/","status":"cr","links":[{"url":"https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/","title":"Mozilla hacks article (older syntax)"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled through the \"Experimental Web Platform features\" flag in `chrome://flags`"},"usage_perc_y":69.62,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"css variables,custom properties","ie_id":"csscustompropertiesakacssvariables","chrome_id":"6401356696911872","firefox_id":"css-variables","webkit_id":"specification-css-variables"},"vibration":{"title":"Vibration API","description":"Method to access the vibration mechanism of the hosting device.","spec":"http://www.w3.org/TR/vibration/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/API/Vibration","title":"MDN article"},{"url":"http://davidwalsh.name/vibration-api","title":"Vibration API sample code & demo"},{"url":"http://code.tutsplus.com/tutorials/html5-vibration-api--mobile-22585","title":"Tuts+ article"},{"url":"http://aurelio.audero.it/demo/vibration-api-demo.html","title":"Demo"},{"url":"http://www.illyism.com/journal/vibration-api","title":"Article and Usage Examples"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":74.91,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"vibration,mobile,device","ie_id":"vibrationapi","chrome_id":"5698768766763008","firefox_id":"vibration","webkit_id":""},"css-backgroundblendmode":{"title":"CSS background-blend-mode","description":"Allows blending between CSS background images, gradients, and colors.","spec":"http://www.w3.org/TR/compositing-1/#propdef-background-blend-mode","status":"cr","links":[{"url":"http://codepen.io/bennettfeely/pen/rxoAc","title":"codepen example"},{"url":"https://medium.com/web-design-technique/6b51bf53743a","title":"Blog post"},{"url":"http://bennettfeely.com/gradients","title":"Demo"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"a #2","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"a #2","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #2"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":63.42,"usage_perc_a":11.77,"ucprefix":false,"parent":"","keywords":"css blend modes,css blending modes,blending,multiply,screen,background","ie_id":"","chrome_id":"5768037999312896","firefox_id":"","webkit_id":""},"css-mixblendmode":{"title":"Blending of HTML/SVG elements","description":"Allows blending between arbitrary SVG and HTML elements","spec":"http://www.w3.org/TR/compositing-1/#mix-blend-mode","status":"cr","links":[{"url":"http://codepen.io/bennettfeely/pen/csjzd","title":"codepen example"},{"url":"http://css-tricks.com/basics-css-blend-modes/","title":"Blog post"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #2","8":"a #2","9":"a #2","9.1":"a #2","10":"a #2","10.1":"a #2","TP":"a #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"a #2","9.3":"a #2","10.0-10.2":"a #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":59.52,"usage_perc_a":11.7,"ucprefix":false,"parent":"","keywords":"mix-blend-mode,css blend modes,css blending modes","ie_id":"mixblendmode","chrome_id":"6362616360337408","firefox_id":"","webkit_id":""},"speech-recognition":{"title":"Speech Recognition API","description":"Method to provide speech input in a web browser.","spec":"https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-se…","status":"unoff","links":[{"url":"http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to…","title":"HTML5Rocks article"},{"url":"http://www.sitepoint.com/introducing-web-speech-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/web-speech-api-demo.html","title":"Demo"},{"url":"http://zenorocha.github.io/voice-elements/#recognition-element","title":"Advanced demo and resource"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n d #2","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","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":"Reported to be in development for Samsung Internet for GearVR, due Q1/2017"},"usage_perc_y":0,"usage_perc_a":57.38,"ucprefix":false,"parent":"","keywords":"#web-speech,speechrecognition,ASR","ie_id":"webspeechapiinput","chrome_id":"5908775487668224","firefox_id":"","webkit_id":""},"high-resolution-time":{"title":"High Resolution Time API","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()`","spec":"http://www.w3.org/TR/hr-time/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Performance.now()","title":"MDN article"},{"url":"http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-perf…","title":"HTML5Rocks article"},{"url":"http://www.sitepoint.com/discovering-the-high-resolution-time-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/high-resolution-time-api-demo.html","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y x","21":"y x","22":"y x","23":"y x","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":92.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,now,testing","ie_id":"highresolutiontime","chrome_id":"5349124069130240","firefox_id":"","webkit_id":""},"battery-status":{"title":"Battery Status API","description":"Method to provide information about the battery status of the hosting device.","spec":"http://www.w3.org/TR/battery-status/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/WebAPI/Battery_Status","title":"MDN Docs"},{"url":"http://www.smartjava.org/examples/webapi-battery/","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n d","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to support for the older specification's `navigator.battery` rather than `navigator.getBattery()` to access the `BatteryManager`."},"usage_perc_y":62.96,"usage_perc_a":9.75,"ucprefix":false,"parent":"","keywords":"navigator.battery,navigator.getbattery,batterymanager","ie_id":"batterystatusapi","chrome_id":"4537134732017664","firefox_id":"","webkit_id":""},"serviceworkers":{"title":"Service Workers","description":"Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.","spec":"https://slightlyoff.github.io/ServiceWorker/spec/service_worker/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/service-worker/introduction/","title":"HTML5Rocks article (introduction)"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API","title":"MDN article"},{"url":"https://jakearchibald.github.io/isserviceworkerready/resources.html","title":"List of various resources"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n d #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"a"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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"},"usage_perc_y":0,"usage_perc_a":62.8,"ucprefix":false,"parent":"","keywords":"","ie_id":"serviceworker","chrome_id":"6561526227927040","firefox_id":"service-worker","webkit_id":"specification-service-workers"},"text-decoration":{"title":"text-decoration styling","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`)","spec":"http://www.w3.org/TR/css-text-decor-3/#line-decoration","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style","title":"MDN Documentation for text-decoration-style"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color","title":"MDN Documentation for text-decoration-color"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line","title":"MDN Documentation for text-decoration-line"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip","title":"MDN Documentation for text-decoration-skip"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=812990","title":"Firefox implementation bug"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a x #4","7":"a x #4","8":"a x #4","9":"a x #4","10":"a x #4","11":"a x #4","12":"a x #4","13":"a x #4","14":"a x #4","15":"a x #4","16":"a x #4","17":"a x #4","18":"a x #4","19":"a x #4","20":"a x #4","21":"a x #4","22":"a x #4","23":"a x #4","24":"a x #4","25":"a x #4","26":"a x #4","27":"a x #4","28":"a x #4","29":"a x #4","30":"a x #4","31":"a x #4","32":"a x #4","33":"a x #4","34":"a x #4","35":"a x #4","36":"a #4","37":"a #4","38":"a #4","39":"a #4","40":"a #4","41":"a #4","42":"a #4","43":"a #4","44":"a #4","45":"a #4","46":"a #4","47":"a #4","48":"a #4","49":"a #4","50":"a #4","51":"a #4","52":"a #4","53":"a #4","54":"a #4","55":"a #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n x d #1","27":"n x d #1","28":"n x d #1","29":"n x d #1","30":"n x d #1","31":"n x d #1","32":"n x d #1","33":"n x d #1","34":"n x d #1","35":"n x d #1","36":"n x d #1","37":"n x d #1","38":"n x d #1","39":"n x d #1","40":"n x d #1","41":"n x d #1","42":"n x d #1","43":"n x d #1","44":"n x d #1","45":"n x d #1","46":"n x d #1","47":"n x d #1","48":"n x d #1","49":"n x d #1","50":"n x d #1","51":"n x d #1","52":"n x d #1","53":"n x d #1","54":"n x d #1","55":"n x d #1","56":"n x d #1","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a x #2 #4","8":"a x #2 #3","9":"a x #2 #3","9.1":"a x #2 #3","10":"a x #2 #3","10.1":"a x #2 #3","TP":"a x #2 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n x d #1","36":"n x d #1","37":"n x d #1","38":"n x d #1","39":"n x d #1","40":"n x d #1","41":"n x d #1","42":"n x d #1","43":"n x d #1","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a x #2","8.1-8.4":"a x #2","9.0-9.2":"a x #2","9.3":"a x #2","10.0-10.2":"a x #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n x d #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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."},"usage_perc_y":0.18,"usage_perc_a":18.32,"ucprefix":false,"parent":"","keywords":"text-decoration-line,text-decoration-style,text-decoration-color,text-decoration-skip","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"iframe-srcdoc":{"title":"srcdoc attribute for iframes","description":"Override the content specified in the `src` attribute (if present) with HTML content within the attribute.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sr…","status":"ls","links":[{"url":"https://docs.webplatform.org/wiki/html/elements/iframe","title":"WebPlatform Docs"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe","title":"MDN Docs"},{"url":"https://github.com/jugglinmike/srcdoc-polyfill","title":"Srcdoc Polyfill"},{"url":"https://bocoup.com/weblog/third-party-javascript-development-future/","title":"Article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p","10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","24":"p","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"p","5":"p","5.1":"p","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"p","11.5":"p","11.6":"p","12":"p","12.1":"p","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p","4.1":"p","4.2-4.3":"p","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"p","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"p","11.5":"p","12":"p","12.1":"p","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"p","11":"p"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":87.04,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"iframesrcdocattribute","chrome_id":"5222955109842944","firefox_id":"","webkit_id":""},"speech-synthesis":{"title":"Speech Synthesis API","description":"A web API for controlling a text-to-speech output.","spec":"https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section","status":"unoff","links":[{"url":"http://updates.html5rocks.com/2014/01/Web-apps-that-talk---Introduction-to-…","title":"HTML5Rocks article"},{"url":"http://www.sitepoint.com/talking-web-pages-and-the-speech-synthesis-api/","title":"SitePoint article"},{"url":"http://aurelio.audero.it/demo/speech-synthesis-api-demo.html","title":"Demo"},{"url":"http://zenorocha.github.io/voice-elements/","title":"Advanced demo and resource"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y #2","56":"y #2","57":"y #2","58":"y #2","59":"y #2","60":"y #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":72.3,"usage_perc_a":0,"ucprefix":false,"parent":"web-speech","keywords":"speech,synthesis,speechSynthesis,TTS,SpeechSynthesisUtterance,","ie_id":"webspeechapisynthesis","chrome_id":"4782875580825600","firefox_id":"webspeech-synthesis","webkit_id":""},"user-timing":{"title":"User Timing API","description":"Method to help web developers measure the performance of their applications by giving them access to high precision timestamps.","spec":"http://www.w3.org/TR/user-timing/","status":"rec","links":[{"url":"http://www.sitepoint.com/discovering-user-timing-api/","title":"SitePoint article"},{"url":"http://www.html5rocks.com/en/tutorials/webperformance/usertiming/","title":"HTML5Rocks article"},{"url":"https://gist.github.com/pmeenan/5902672","title":"Polyfill"},{"url":"http://aurelio.audero.it/demo/user-timing-api-demo.html","title":"Demo"},{"url":"https://github.com/nicjansma/usertiming.js","title":"UserTiming.js polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":71.36,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,testing,mark,measure","ie_id":"usertimingapi","chrome_id":"5066549580791808","firefox_id":"","webkit_id":"specification-user-timing"},"srcset":{"title":"Srcset attribute","description":"Allows 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).","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset","status":"ls","links":[{"url":"https://www.webkit.org/blog/2910/improved-support-for-high-resolution-displ…","title":"Improved support for high-resolution displays with the srcset image attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #2","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #2","8":"a #2","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #2","8.1-8.4":"a #2","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)."},"usage_perc_y":85.25,"usage_perc_a":0.78,"ucprefix":false,"parent":"","keywords":"","ie_id":"imgsrcset","chrome_id":"4644337115725824","firefox_id":"","webkit_id":"feature-srcset-w-descriptor-and-related-sizes-attribute,feature-srcset-x-descriptor"},"ambient-light":{"title":"Ambient Light API","description":"Defines events that provide information about the ambient light level, as measured by a device's light sensor.","spec":"http://www.w3.org/TR/ambient-light/","status":"cr","links":[{"url":"http://aurelio.audero.it/demo/ambient-light-api-demo.html","title":"Demo"},{"url":"http://modernweb.com/2014/05/27/introduction-to-the-ambient-light-api/","title":"Article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support in desktop Firefox refers to support being limited to Mac OS X. [Support for Windows 7 is in progress](https://bugzilla.mozilla.org/show_bug.cgi?id=754199)"},"usage_perc_y":1.52,"usage_perc_a":6.46,"ucprefix":false,"parent":"","keywords":"","ie_id":"ambientlightsensorapi","chrome_id":"5298357018820608","firefox_id":"","webkit_id":""},"will-change":{"title":"CSS will-change property","description":"Method of optimizing animations by informing the browser which elements will change and what properties will change.","spec":"http://dev.w3.org/csswg/css-will-change/","status":"wd","links":[{"url":"https://dev.opera.com/articles/css-will-change-property/","title":"Detailed article"},{"url":"http://aerotwist.com/blog/bye-bye-layer-hacks/","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/will-change","title":"will-change on MDN"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Firefox behind the `layout.css.will-change.enabled` flag"},"usage_perc_y":74.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"scroll-position","ie_id":"csswillchange","chrome_id":"5954199330226176","firefox_id":"","webkit_id":"specification-css-will-change"},"css-shapes":{"title":"CSS Shapes Level 1","description":"Allows geometric shapes to be set in CSS to define an area for text to flow around.","spec":"http://www.w3.org/TR/css-shapes/","status":"cr","links":[{"url":"http://html.adobe.com/webplatform/layout/shapes/","title":"Adobe demos and samples"},{"url":"http://html.adobe.com/webplatform/layout/shapes/browser-support/","title":"CSS shapes support test by Adobe"},{"url":"http://alistapart.com/article/css-shapes-101","title":"A List Apart article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1040714","title":"Firefox tracking bug"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1","35":"n d #1","36":"n d #1","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags"},"usage_perc_y":68.61,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"circle,ellipse,polygon,inset,shape-outside,shape-inside","ie_id":"shapes","chrome_id":"5163890719588352","firefox_id":"css-shapes","webkit_id":"feature-css-shapes-level-1"},"domcontentloaded":{"title":"DOMContentLoaded","description":"JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.).","spec":"https://html.spec.whatwg.org/multipage/syntax.html#stop-parsing","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoa…","title":"MDN: DOMContentLoaded"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"dom,domready,onload,contentloaded,document","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"proximity":{"title":"Proximity API","description":"Defines events that provide information about the distance between a device and an object, as measured by a proximity sensor.","spec":"http://www.w3.org/TR/proximity/","status":"cr","links":[{"url":"http://aurelio.audero.it/demo/proximity-api-demo.html","title":"Demo"},{"url":"http://www.sitepoint.com/introducing-proximity-api/","title":"SitePoint article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":6.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"kerning-pairs-ligatures":{"title":"Improved kerning pairs & ligatures","description":"Currently non-standard method of improving kerning pairs & ligatures using `text-rendering: optimizeLegibility`.","spec":"http://www.w3.org/TR/SVG11/painting.html#TextRenderingProperty","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering","title":"MDN article"},{"url":"http://css-tricks.com/almanac/properties/t/text-rendering/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":87.5,"usage_perc_a":0.69,"ucprefix":false,"parent":"","keywords":"optimizeLegibility,optimizeSpeed,geometricPrecision","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"iframe-seamless":{"title":"seamless attribute for iframes","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 the current specification](https://github.com/whatwg/html/issues/331). ","spec":"https://www.w3.org/TR/html51/semantics.html#attr-iframe-seamless","status":"unoff","links":[{"url":"https://github.com/ornj/seamless-polyfill","title":"Experimental polyfill"},{"url":"http://labs.ft.com/2013/01/seamless-iframes-not-quite-seamless/","title":"Article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=631218","title":"Bug on Firefox support"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n d","26":"n d","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n #1","7.1":"n #1","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n #1","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Chrome 20-26 had partial support behind a flag, though this was [later removed](http://crbug.com/229421).","notes_by_num":{"1":"Hides the border of seamless iframes and recognizes the 'seamless' DOM property, but does not provide actual support."},"usage_perc_y":9.23,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"iframeseamlessattribute","chrome_id":"6630329993396224","firefox_id":"","webkit_id":""},"css-image-orientation":{"title":"CSS3 image-orientation","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.","spec":"http://www.w3.org/TR/css3-images/#image-orientation","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation","title":"MDN article"},{"url":"http://sethfowler.org/blog/2013/09/13/new-in-firefox-26-css-image-orientati…","title":"Blog post"},{"url":"http://jsbin.com/EXUTolo/4","title":"Demo (Chinese)"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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."},"usage_perc_y":6.42,"usage_perc_a":9.81,"ucprefix":false,"parent":"","keywords":"image-orientation,from-image,flip","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"picture":{"title":"Picture element","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","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-el…","status":"ls","links":[{"url":"http://responsiveimages.org/demos/","title":"Demo"},{"url":"http://code.tutsplus.com/tutorials/better-responsive-images-with-the-pictur…","title":"Tutorial"},{"url":"http://usecases.responsiveimages.org/","title":"Read about the use cases"},{"url":"http://responsiveimages.org/","title":"General information about Responsive Images"},{"url":"https://dev.opera.com/articles/responsive-images/","title":"Blog post on usage"},{"url":"http://www.html5rocks.com/tutorials/responsive/picture-element/","title":"HTML5 Rocks tutorial"},{"url":"https://github.com/scottjehl/picturefill","title":"Picturefill - polyfill for picture, srcset, sizes, and more"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #3","35":"n d #3","36":"n d #3","37":"n d #3","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n d #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d #2","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":75.85,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"<picture>","ie_id":"pictureelement","chrome_id":"5910974510923776","firefox_id":"","webkit_id":"feature-picture-element"},"woff2":{"title":"WOFF 2.0 - Web Open Font Format","description":"TrueType/OpenType font that provides better compression than WOFF 1.0.","spec":"http://www.w3.org/TR/WOFF2/","status":"cr","links":[{"url":"https://gist.github.com/sergejmueller/cf6b4f2133bcb3e2f64a","title":"Basics about WOFF 2.0"},{"url":"http://everythingfonts.com/ttf-to-woff2","title":"WOFF 2.0 converter"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported only on Safari for Mac OS Sierra, not El Capitan & older."},"usage_perc_y":72.94,"usage_perc_a":1.55,"ucprefix":false,"parent":"fontface","keywords":"woff, fontface, webfonts","ie_id":"wofffileformat20","chrome_id":"6718644721549312","firefox_id":"","webkit_id":"specification-woff-file-format-2.0"},"text-size-adjust":{"title":"CSS text-size-adjust","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.","spec":"http://dev.w3.org/csswg/css-size-adjust/","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust","title":"MDN Docs"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1226116","title":"Mozilla Bug\u00a0#1226116: Unprefix -moz-text-size-adjust"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n #2","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n #2","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y x"},"ie_mob":{"10":"y x #1","11":"y x #1"},"and_uc":{"11":"y x"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"If the viewport size is set using a `<meta>` element, the `-ms-text-size-adjust` property is ignored. See [MSDN](https://msdn.microsoft.com/en-us/library/ie/dn793579%28v=vs.85%29.asp…","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."},"usage_perc_y":69.2,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"5730156303876096","firefox_id":"","webkit_id":""},"web-animation":{"title":"Web Animations API","description":"Lets you create animations that are run in the browser and as well as inspect and manipulate animations created through declarative means like CSS.","spec":"http://w3c.github.io/web-animations/","status":"wd","links":[{"url":"http://updates.html5rocks.com/2014/05/Web-Animations---element-animate-is-n…","title":"HTML5 Rocks"},{"url":"http://updates.html5rocks.com/2013/12/New-Web-Animations-engine-in-Blink-dr…","title":"HTML5 Rocks"},{"url":"https://birtles.github.io/areweanimatedyet/","title":"Current Firefox status"},{"url":"https://github.com/web-animations/web-animations-js","title":"Polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"a d #3","34":"a d #3","35":"a d #3","36":"a d #3","37":"a d #3","38":"a d #3","39":"a d #3","40":"a d #3","41":"a d #3","42":"a d #3","43":"a d #3","44":"a d #3","45":"a d #3","46":"a d #3","47":"a #3","48":"a #3","49":"a #3","50":"a #3","51":"a #3","52":"a #3","53":"a #3","54":"a #3","55":"a #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"a #1","37":"a #1","38":"a #1","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2","60":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #1","24":"a #1","25":"a #1","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"a #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a #2"},"and_qq":{"1.2":"a #2"}},"notes":"","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/)"},"usage_perc_y":0,"usage_perc_a":63.38,"ucprefix":false,"parent":"","keywords":"animate,play,pause,reverse,finish,currentTime,startTime,playbackRate,playState","ie_id":"webanimationsjavascriptapi","chrome_id":"4854343836631040,5633748733263872","firefox_id":"","webkit_id":"specification-web-animations"},"resource-timing":{"title":"Resource Timing","description":"Method to help web developers to collect complete timing information related to resources on a document.","spec":"http://www.w3.org/TR/resource-timing/","status":"cr","links":[{"url":"http://aurelio.audero.it/demo/resource-timing-api-demo.html","title":"Demo"},{"url":"http://googledevelopers.blogspot.com/2013/12/measuring-network-performance-…","title":"Blog post"},{"url":"http://www.sitepoint.com/introduction-resource-timing-api/","title":"SitePoint article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Can be enabled in Firefox using the dom.enable_resource_timing flag"},"usage_perc_y":71.42,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"performance,testing,resource","ie_id":"resourcetimingapi","chrome_id":"5796350423728128","firefox_id":"","webkit_id":"specification-resource-timing"},"custom-elements":{"title":"Custom Elements v0","description":"Method of defining new HTML tags.","spec":"http://www.w3.org/TR/custom-elements/","status":"wd","links":[{"url":"http://w3c.github.io/webcomponents/spec/custom/","title":"W3C Editor's Draft spec (closer to current implementations)"},{"url":"http://www.polymer-project.org/platform/custom-elements.html","title":"Polymer project (polyfill & web components framework)"},{"url":"http://www.html5rocks.com/tutorials/webcomponents/customelements/","title":"HTML5Rocks - Custom Elements: defining new elements in HTML"},{"url":"https://code.google.com/p/chromium/issues/detail?id=234509","title":"Chromium tracking bug: Implement Custom Elements"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=889230","title":"Firefox tracking bug: Implement Custom Elements (from Web Components)"},{"url":"http://status.modern.ie/customelements","title":"IE Web Platform Status and Roadmap: Custom Elements"},{"url":"https://github.com/WebReflection/document-register-element","title":"document.registerElement polyfill in 3KB minified & gzipped"},{"url":"https://developers.google.com/web/fundamentals/primers/customelements/","title":"Google Developers - Custom elements v1: reusable web components"},{"url":"https://github.com/webcomponents/webcomponentsjs/tree/v1/src/CustomElements…","title":"customElements.define polyfill (supersedes document.registerElement)"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"p d #1","31":"p d #1","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"p d #1","45":"p d #1","46":"p d #1","47":"p d #1","48":"p d #1","49":"p d #1","50":"p d #1","51":"p d #1","52":"p d #1","53":"p d #1","54":"p d #1","55":"p d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n d","28":"n d","29":"n d","30":"n d","31":"n d","32":"n d","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n d","16":"n d","17":"n d","18":"n d","19":"n d","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Enabled through the \"dom.webcomponents.enabled\" preference in about:config"},"usage_perc_y":57.81,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components,registerElement","ie_id":"customelements","chrome_id":"4642138092470272","firefox_id":"custom-elements","webkit_id":"feature-custom-elements"},"imports":{"title":"HTML Imports","description":"Method of including and reusing HTML documents in other HTML documents.","spec":"http://www.w3.org/TR/html-imports/","status":"wd","links":[{"url":"http://www.polymer-project.org/platform/html-imports.html","title":"Polymer project (polyfill & web components framework)"},{"url":"http://www.html5rocks.com/tutorials/webcomponents/imports/","title":"HTML5Rocks - HTML Imports: #include for the web"},{"url":"https://code.google.com/p/chromium/issues/detail?id=240592","title":"Chromium tracking bug: Implement HTML Imports"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=877072","title":"Firefox tracking bug: Implement HTML Imports"},{"url":"http://status.modern.ie/htmlimports","title":"IE Web Platform Status and Roadmap: HTML Imports"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"p","31":"p","32":"p d #1","33":"p d #1","34":"p d #1","35":"p d #1","36":"p d #1","37":"p d #1","38":"p d #1","39":"p d #1","40":"p d #1","41":"p d #1","42":"p d #1","43":"p d #1","44":"p d #1","45":"p d #1","46":"p d #1","47":"p d #1","48":"p d #1","49":"p d #1","50":"p d #1","51":"p d #1","52":"p d #1","53":"p d #1","54":"p d #1","55":"p d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"p d #3","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"p","6.1":"p","7":"p","7.1":"p","8":"p","9":"p","9.1":"p","10":"p","10.1":"p","TP":"p"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n d #4","18":"n d #4","19":"n d #4","20":"n d #4","21":"n d #4","22":"p d #5","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"p","8":"p","8.1-8.4":"p","9.0-9.2":"p","9.3":"p","10.0-10.2":"p"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Firefox [has no plans to support HTML imports](https://hacks.mozilla.org/2014/12/mozilla-and-web-components/) though for now it can be enabled through the \"dom.webcomponents.enabled\" preference in about:config","2":"Enabled through the \"Enable HTML Imports\" flag in chrome://flags","3":"Enabled through the \"Experimental Web Platform features\" flag in chrome://flags","4":"Enabled through the \"Enable HTML Imports\" flag in opera://flags","5":"Enabled through the \"Experimental Web Platform features\" flag in opera://flags"},"usage_perc_y":57.05,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web components","ie_id":"htmlimports","chrome_id":"5144752345317376","firefox_id":"html-imports","webkit_id":"feature-html-imports"},"input-file-multiple":{"title":"Multiple file selection","description":"Allows users to select multiple files in the file picker.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-multiple","status":"ls","links":[{"url":"https://code.google.com/p/chromium/issues/detail?id=348912","title":"Chrome bug (for Android)"},{"url":"http://www.raymondcamden.com/2012/2/28/Working-with-HTML5s-multiple-file-up…","title":"Article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n #1"},"android":{"2.1":"n #1","2.2":"n #1","2.3":"n #1","3":"n #1","4":"n #1","4.1":"n #1","4.2-4.3":"n #1","4.4":"n #1","4.4.3-4.4.4":"n #1","53":"n #1"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n #1","11":"n #1","11.1":"n #1","11.5":"n #1","12":"n #1","12.1":"n #1","37":"n #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"n #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n #1"},"samsung":{"4":"n #1"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":52.91,"usage_perc_a":25.64,"ucprefix":false,"parent":"forms","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"atob-btoa":{"title":"Base64 encoding and decoding","description":"Utility functions for of encoding and decoding strings to and from base 64: window.atob() and window.btoa().","spec":"https://html.spec.whatwg.org/multipage/webappapis.html#atob","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa","title":"MDN article on btoa()"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window.atob","title":"MDN article on atob()"},{"url":"https://github.com/davidchambers/Base64.js","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"u","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.66,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"atob,btoa","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-appearance":{"title":"CSS Appearance","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.","spec":"https://drafts.csswg.org/css-ui-4/#appearance-switching","status":"wd","links":[{"url":"http://css-tricks.com/almanac/properties/a/appearance/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #1 #2","13":"a #1 #2","14":"a #1 #2","15":"a #1 #2"},"firefox":{"2":"a x #1 #3","3":"a x #1 #3","3.5":"a x #1 #3","3.6":"a x #1 #3","4":"a x #1 #3","5":"a x #1 #3","6":"a x #1 #3","7":"a x #1 #3","8":"a x #1 #3","9":"a x #1 #3","10":"a x #1 #3","11":"a x #1 #3","12":"a x #1 #3","13":"a x #1 #3","14":"a x #1 #3","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1"},"chrome":{"4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"a x #1","3.2":"a x #1","4":"a x #1","5":"a x #1","5.1":"a x #1","6":"a x #1","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a x #1","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"a x #1","4.0-4.1":"a x #1","4.2-4.3":"a x #1","5.0-5.1":"a x #1","6.0-6.1":"a x #1","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"n"},"android":{"2.1":"a x #1","2.2":"a x #1","2.3":"a x #1","3":"a x #1","4":"a x #1","4.1":"a x #1","4.2-4.3":"a x #1","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"a x #1","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"n","11":"a #1 #2"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","notes_by_num":{"1":"The appearance property is supported with the `none` value, but not `auto`. Webkit, Blink, and Gecko browsers also support additional vendor specific values.","2":"Microsoft Edge and IE Mobile support this property with the `-webkit-` prefix, rather than `-ms-` for interop reasons.","3":"-moz-appearance:none doesn't remove the dropdown arrow in select tag"},"usage_perc_y":0,"usage_perc_a":90.35,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"objectrtc":{"title":"Object RTC (ORTC) API for WebRTC","description":"Enables mobile endpoints to talk to servers and web browsers with Real-Time Communications (RTC) capabilities via native and simple JavaScript APIs","spec":"https://www.w3.org/community/ortc/","status":"other","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2014/10/27/bringing-interoperable-real-t…","title":"Bringing Interoperable Real-Time Communications to the Web"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"ORTC is often dubbed WebRTC 1.1. It is possible to make ORTC communicate with WebRTC 1.0 endpoints. See [WebRTC 1.0](http://caniuse.com/#feat=rtcpeerconnection) for support details for that API.","notes_by_num":{},"usage_perc_y":1.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"RTC,WebRTC,ORTC,ObjectRTC,RTCIceTransport,RTCIceGatherer,RTCRtpSender,RTCRtpReceiver,Real Time,video,webcam","ie_id":"webrtcobjectrtcapi","chrome_id":"","firefox_id":"","webkit_id":""},"css-background-offsets":{"title":"CSS background-position edge offsets","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.","spec":"http://www.w3.org/TR/css3-background/#background-position","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/background-position","title":"MDN article on background-position"},{"url":"http://briantree.se/quick-tip-06-use-four-value-syntax-properly-position-ba…","title":"Basic information"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":87.34,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"4 value syntax","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-supports-api":{"title":"CSS.supports() API","description":"The CSS.supports() static methods returns a Boolean value indicating if the browser supports a given CSS feature, or not.","spec":"http://dev.w3.org/csswg/css-conditional/#the-css-interface","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/CSS.supports","title":"MDN Docs"},{"url":"http://jsbin.com/rimevilotari/1/edit","title":"Demo (Chinese)"},{"url":"https://dev.opera.com/articles/native-css-feature-detection/","title":"Native CSS Feature Detection via the @supports Rule"},{"url":"http://davidwalsh.name/css-supports","title":"CSS @supports"},{"url":"http://blog.csdn.net/hfahe/article/details/8619480","title":"Article (Chinese)"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n d","21":"n d","22":"n d","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See also [@supports in CSS](#feat=css-featurequeries)","notes_by_num":{"1":"Partial support in Presto-based Opera browsers refers to using an older API (`window.supportsCSS`)"},"usage_perc_y":78.56,"usage_perc_a":3.37,"ucprefix":false,"parent":"","keywords":"conditional","ie_id":"conditionalrules","chrome_id":"4993981813358592","firefox_id":"","webkit_id":""},"css-touch-action":{"title":"CSS touch-action property","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.","spec":"http://www.w3.org/TR/pointerevents/#the-touch-action-css-property","status":"rec","links":[{"url":"http://msdn.microsoft.com/en-us/library/windows/apps/hh767313.aspx","title":"MSDN Docs"},{"url":"http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away","title":"300ms tap delay, gone away"},{"url":"http://blogs.telerik.com/appbuilder/posts/13-11-21/what-exactly-is.....-the…","title":"What Exactly Is..... The 300ms Click Delay"},{"url":"http://thx.github.io/mobile/300ms-click-delay/","title":"What Exactly Is..... The 300ms Click Delay (Chinese)"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action","title":"Mozilla Developer Network"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=149854","title":"WebKit bug 149854: Implement touch-action: manipulation; for iOS"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=133112","title":"WebKit bug 133112: touch-action CSS property support"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y x #2","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"a #3","10":"a #3","10.1":"a #3","TP":"a #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"a #3","10.0-10.2":"a #3"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"y x #2","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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":"IE10+ has already supported these property which are not in standard at present such as `double-tap-zoom`, `cross-slide-x`, `cross-slide-y`.","3":"Safari only supports `auto` and `manipulation`."},"usage_perc_y":63.17,"usage_perc_a":11.1,"ucprefix":false,"parent":"","keywords":"touch action","ie_id":"csstouchaction","chrome_id":"5912074022551552","firefox_id":"","webkit_id":""},"autofocus":{"title":"Autofocus attribute","description":"Allows a form field to be immediately focused on page load.","spec":"https://html.spec.whatwg.org/multipage/forms.html#autofocusing-a-form-contr…","status":"ls","links":[{"url":"http://davidwalsh.name/autofocus","title":"Article on autofocus"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"While not supported in iOS Safari, it does work in iOS WebViews.","notes_by_num":{},"usage_perc_y":75.25,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-clip-path":{"title":"CSS clip-path property (for HTML)","description":"Method of defining the visible region of an HTML element using SVG or a shape definition.","spec":"http://www.w3.org/TR/css-masking-1/#the-clip-path","status":"cr","links":[{"url":"http://css-tricks.com/almanac/properties/c/clip/","title":"CSS Tricks article"},{"url":"http://codepen.io/dubrod/details/myNNyW/","title":"Codepen Example Clipping an Image with a Polygon"},{"url":"http://lab.iamvdo.me/css-svg-masks","title":"Visual test cases"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1 #3","48":"a #1 #3","49":"a #1 #3","50":"a #1 #3","51":"a #1 #3","52":"a #1 #3","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a x #2","43":"a x #2","44":"a x #2","45":"a x #2","46":"a x #2","47":"a x #2","48":"a x #2","49":"a x #2","50":"a x #2","51":"a x #2","52":"a x #2","53":"a x #2","54":"a x #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2","60":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"a x #2","7.1":"a x #2","8":"a x #2","9":"a x #2","9.1":"a x #2","10":"a x #2","10.1":"a x #2","TP":"a x #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #2","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"a x #2","22":"a x #2","23":"a x #2","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a x #2","8":"a x #2","8.1-8.4":"a x #2","9.0-9.2":"a x #2","9.3":"a x #2","10.0-10.2":"a x #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x #2","4.4.3-4.4.4":"a x #2","53":"a x #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #2"},"and_chr":{"56":"a #2"},"and_ff":{"51":"a #1 #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x #2"},"and_qq":{"1.2":"a x #2"}},"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"},"usage_perc_y":0.01,"usage_perc_a":77.86,"ucprefix":false,"parent":"css-masks","keywords":"clippath","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"getrandomvalues":{"title":"crypto.getRandomValues()","description":"Method of generating cryptographically random values.","spec":"http://www.w3.org/TR/WebCryptoAPI/#RandomSource-method-getRandomValues","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomVal…","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y x"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y x"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":83.52,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"screen-orientation":{"title":"Screen Orientation","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.","spec":"http://www.w3.org/TR/screen-orientation/","status":"wd","links":[{"url":"http://aurelio.audero.it/demo/screen-orientation-api-demo.html","title":"Demo"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Screen.orientation","title":"MDN article"},{"url":"http://www.sitepoint.com/introducing-screen-orientation-api/","title":"SitePoint article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a x"},"edge":{"12":"a x","13":"a x","14":"a x","15":"a x"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","24":"a x","25":"a x","26":"a x","27":"a x","28":"a x","29":"a x","30":"a x","31":"a x","32":"a x","33":"a x","34":"a x","35":"a x","36":"a x","37":"a x","38":"a x","39":"a x","40":"a x","41":"a x","42":"a x","43":"a x","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"a x"},"and_uc":{"11":"y"},"samsung":{"4":"u"},"and_qq":{"1.2":"n"}},"notes":"Partial support refers to an [older version](http://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":{},"usage_perc_y":68.55,"usage_perc_a":6.17,"ucprefix":false,"parent":"","keywords":"lockorientation,unlockorientation","ie_id":"screenorientationapi","chrome_id":"6191285283061760","firefox_id":"screen-orientation","webkit_id":""},"font-loading":{"title":"CSS Font Loading","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.","spec":"http://dev.w3.org/csswg/css-font-loading/","status":"cr","links":[{"url":"https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance…","title":"Optimizing with font load events"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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)"},"usage_perc_y":73.03,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"fontface,fontfaceset,fontfacesource","ie_id":"","chrome_id":"6244676289953792","firefox_id":"","webkit_id":""},"font-unicode-range":{"title":"Font unicode-range subsetting","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.","spec":"http://dev.w3.org/csswg/css-fonts/#descdef-unicode-range","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-range","title":"MDN: unicode-range"},{"url":"https://developer.apple.com/library/safari/documentation/AppleApplications/…","title":"Safari CSS Reference: unicode-range"},{"url":"http://docs.webplatform.org/wiki/css/properties/unicode-range","title":"Web Platform Docs: unicode-range"},{"url":"http://jsbin.com/jeqoguzeye/1/edit?html,output","title":"Demo"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a","10":"a","11":"a"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"y"},"bb":{"7":"n","10":"a"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a","11":"a"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"y"}},"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-K….","notes_by_num":{"1":"Can be enabled in Firefox using the `layout.css.unicode-range.enabled` flag"},"usage_perc_y":69.25,"usage_perc_a":24.47,"ucprefix":false,"parent":"","keywords":"font face,unicode,unicode-range","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"gamepad":{"title":"Gamepad API","description":"API to support input from USB gamepad controllers through JavaScript.","spec":"http://www.w3.org/TR/gamepad/","status":"wd","links":[{"url":"http://luser.github.io/gamepadtest/","title":"Controller demo"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API","title":"MDN article"},{"url":"http://www.html5rocks.com/en/tutorials/doodles/gamepad/","title":"HTML5Rocks article"},{"url":"http://gamedevelopment.tutsplus.com/tutorials/using-the-html5-gamepad-api-t…","title":"Detailed tutorial"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y x","22":"y x","23":"y x","24":"y x","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Can be enabled via the \"Experimental Features\" developer menu"},"usage_perc_y":65.6,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"gamepadapi","chrome_id":"5118776383111168","firefox_id":"gamepad","webkit_id":""},"css-font-stretch":{"title":"CSS font-stretch","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.","spec":"http://www.w3.org/TR/css-fonts-3/#font-stretch-prop","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch","title":"MDN article"},{"url":"http://css-tricks.com/almanac/properties/f/font-stretch/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":65.07,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"font stretch","ie_id":"cssfontstretch","chrome_id":"4598830058176512","firefox_id":"","webkit_id":""},"font-size-adjust":{"title":"CSS font-size-adjust","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.","spec":"http://www.w3.org/TR/css-fonts-3/#font-size-adjust-prop","status":"cr","links":[{"url":"http://webdesignernotebook.com/css/the-little-known-font-size-adjust-css3-p…","title":"Article on font-size-adjust"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust","title":"MDN article on font-size-adjust"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1","60":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n #2"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Enabled through the \"experimental Web Platform features\" flag in chrome://flags","2":"Does not appear to work on Firefox mobile, despite recognition of the property."},"usage_perc_y":6.67,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"5720910061371392","firefox_id":"","webkit_id":""},"link-icon-png":{"title":"PNG favicons","description":"Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the PNG format can be preferable.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#rel-icon","status":"ls","links":[{"url":"http://css-tricks.com/favicon-quiz/","title":"Detailed info on favicons for various uses"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1","60":"y #1"},"safari":{"3.1":"y #2","3.2":"y #2","4":"y #2","5":"y #2","5.1":"y #2","6":"y #2","6.1":"y #2","7":"y #2","7.1":"y #2","8":"y #2","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"y #3","9.5-9.6":"y #3","10.0-10.1":"y #3","10.5":"y #3","10.6":"y #3","11":"y #3","11.1":"y #3","11.5":"y #3","11.6":"y #3","12":"y #3","12.1":"y #3","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"n #4","4.0-4.1":"n #4","4.2-4.3":"n #4","5.0-5.1":"n #4","6.0-6.1":"n #4","7.0-7.1":"n #4","8":"n #4","8.1-8.4":"n #4","9.0-9.2":"n #4","9.3":"n #4","10.0-10.2":"n #4"},"op_mini":{"all":"n #4"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y #3","4.4.3-4.4.4":"y #3","53":"y #3"},"bb":{"7":"y","10":"n #4"},"op_mob":{"10":"n #4","11":"n #4","11.1":"n #4","11.5":"n #4","12":"n #4","12.1":"n #4","37":"n #4"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n #4","11":"n #4"},"and_uc":{"11":"y #2"},"samsung":{"4":"y #3"},"and_qq":{"1.2":"y #1"}},"notes":"Win8/IE10+ and iOS Safari support other types of icons for webpages too, using alternate tags.\r\n\r\nSee also [SVG favicons](#feat=link-icon-svg).","notes_by_num":{"1":"If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set.","2":"If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set.","3":"If multiple formats are available, will use the last one loaded, regardless of sizes (effectively picks at random).","4":"Does not use favicons at all (but may have alternative for bookmarks, etc.)."},"usage_perc_y":83.87,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-icon-svg":{"title":"SVG favicons","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.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#rel-icon","status":"ls","links":[{"url":"http://crbug.com/294179","title":"Chrome bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5","SVG"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y #4","52":"y #4","53":"y #4","54":"y #4","55":"y #4"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"u","59":"u","60":"u"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a #3","9.1":"a #3","10":"a #3","10.1":"a #3","TP":"a #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n #1","4.0-4.1":"n #1","4.2-4.3":"n #1","5.0-5.1":"n #1","6.0-6.1":"n #1","7.0-7.1":"n #1","8":"n #1","8.1-8.4":"n #1","9.0-9.2":"a #3","9.3":"a #3","10.0-10.2":"a #3"},"op_mini":{"all":"n #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n #1","11":"n #1","11.1":"n #1","11.5":"n #1","12":"n #1","12.1":"n #1","37":"n #1"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n #1","11":"n #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"See also [PNG favicons](#feat=link-icon-png).","notes_by_num":{"1":"Does not use favicons at all","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":"Safari 9 has support for \"[pinned tab](https://developer.apple.com/library/prerelease/content/releasenotes/Ge…" SVG icons, but this requires an unofficial `rel=\"mask-icon\"` to be set and only works for all-black icons on Pinned Tabs.","4":"Firefox [requires](https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c50) the served mime-type to be 'image/svg+xml'."},"usage_perc_y":6.11,"usage_perc_a":11.78,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-media-resolution":{"title":"Media Queries: resolution feature","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.","spec":"http://www.w3.org/TR/css3-mediaqueries/#resolution","status":"rec","links":[{"url":"http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/","title":"How to unprefix -webkit-device-pixel-ratio"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=78087","title":"WebKit Bug 78087: Implement the 'resolution' media query"},{"url":"https://compat.spec.whatwg.org/#css-media-queries-webkit-device-pixel-ratio","title":"WHATWG Compatibility Standard: -webkit-device-pixel-ratio"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"a #2","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #3","5":"a x #3","6":"a x #3","7":"a x #3","8":"a x #3","9":"a x #3","10":"a x #3","11":"a x #3","12":"a x #3","13":"a x #3","14":"a x #3","15":"a x #3","16":"a x #3","17":"a x #3","18":"a x #3","19":"a x #3","20":"a x #3","21":"a x #3","22":"a x #3","23":"a x #3","24":"a x #3","25":"a x #3","26":"a x #3","27":"a x #3","28":"a x #3","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"a x #3","5":"a x #3","5.1":"a x #3","6":"a x #3","6.1":"a x #3","7":"a x #3","7.1":"a x #3","8":"a x #3","9":"a x #3","9.1":"a x #3","10":"a x #3","10.1":"a x #3","TP":"a x #3"},"opera":{"9":"n","9.5-9.6":"a x #3","10.0-10.1":"a x #3","10.5":"a x #3","10.6":"a x #3","11":"a x #3","11.1":"a x #3","11.5":"a x #3","11.6":"a x #3","12":"a x #3","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"a x #3","4.2-4.3":"a x #3","5.0-5.1":"a x #3","6.0-6.1":"a x #3","7.0-7.1":"a x #3","8":"a x #3","8.1-8.4":"a x #3","9.0-9.2":"a x #3","9.3":"a x #3","10.0-10.2":"a x #3"},"op_mini":{"all":"a #1"},"android":{"2.1":"u","2.2":"u","2.3":"a x #3","3":"a x #3","4":"a x #3","4.1":"a x #3","4.2-4.3":"a x #3","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a x #3","10":"a x #3"},"op_mob":{"10":"a x #3","11":"a x #3","11.1":"a x #3","11.5":"a x #3","12":"a x #3","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a x #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`"},"usage_perc_y":67.42,"usage_perc_a":30.46,"ucprefix":false,"parent":"css-mediaqueries","keywords":"@media,device-pixel-ratio,resolution,dppx,dpcm,dpi","ie_id":"mediaqueriesresolutionfeature,dppxunitfortheresolutionmediaquery","chrome_id":"5944509615570944","firefox_id":"","webkit_id":""},"xml-serializer":{"title":"DOM Parsing and Serialization","description":"Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `insertAdjacentHTML`.","spec":"http://www.w3.org/TR/DOM-Parsing/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/XMLSerializer","title":"MDN - XMLSerializer"},{"url":"http://ejohn.org/blog/dom-insertadjacenthtml/","title":"Comparing Document Position by John Resig"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #2","3":"a #2","3.5":"a #2","3.6":"a #2","4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #3","9":"a #3","10":"a #3","11":"a #1","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"u","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`."},"usage_perc_y":83.33,"usage_perc_a":15.03,"ucprefix":false,"parent":"","keywords":"parseFromString","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-image-set":{"title":"CSS image-set","description":"Method of letting the browser pick the most appropriate CSS background image from a given set, primarily for high PPI screens.","spec":"http://dev.w3.org/csswg/css-images-3/#image-set-notation","status":"unoff","links":[{"url":"http://cloudfour.com/examples/image-set/","title":"Demo"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{},"usage_perc_y":80.57,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"cssimageset","chrome_id":"","firefox_id":"","webkit_id":""},"css-boxdecorationbreak":{"title":"CSS box-decoration-break","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).","spec":"http://www.w3.org/TR/css3-break/#break-decoration","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break","title":"MDN article"},{"url":"http://jsbin.com/xojoro/edit?css,output","title":"Demo of effect on box border"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"a x #1","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y #1","11.1":"y #1","11.5":"y #1","11.6":"y #1","12":"y #1","12.1":"y #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"a #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"n","10":"a x #1"},"op_mob":{"10":"n","11":"y #1","11.1":"y #1","11.5":"y #1","12":"y #1","12.1":"y #1","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"","notes_by_num":{"1":"Partial support refers to working for inline elements but not across column or page breaks."},"usage_perc_y":6.45,"usage_perc_a":74.57,"ucprefix":false,"parent":"","keywords":"box-decoration,box decoration,break","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"object-observe":{"title":"Object.observe data binding","description":"Method for data binding, a now-withdrawn ECMAScript 7 proposal","spec":"http://wiki.ecmascript.org/doku.php?id=harmony:observe","status":"unoff","links":[{"url":"http://www.html5rocks.com/en/tutorials/es7/observe/","title":"Data-binding Revolutions with Object.observe()"},{"url":"https://github.com/MaxArt2501/object-observe","title":"Polyfill"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=800355","title":"Firefox tracking bug"},{"url":"https://esdiscuss.org/topic/an-update-on-object-observe","title":"An update on Object.observe"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support in Blink-based browsers is expected to be removed in future versions.","notes_by_num":{},"usage_perc_y":6.3,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"objectobserve","chrome_id":"6147094632988672","firefox_id":"","webkit_id":""},"css-at-counter-style":{"title":"CSS Counter Styles","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.","spec":"http://dev.w3.org/csswg/css-counter-styles/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@counter-style","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support in Firefox refers to lacking support for [image symbols](https://bugzilla.mozilla.org/show_bug.cgi?id=1024179)"},"usage_perc_y":0,"usage_perc_a":6.33,"ucprefix":false,"parent":"","keywords":"css @counter-style, list-style","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-page-break":{"title":"CSS page-break properties","description":"Properties to control the way elements are broken across (printed) pages.","spec":"http://www.w3.org/TR/CSS2/page.html#page-breaks","status":"rec","links":[{"url":"https://css-tricks.com/almanac/properties/p/page-break/","title":"CSS Tricks article"},{"url":"http://dev.w3.org/csswg/css-break-3/#break-between","title":"Latest fragmentation specification (includes column & region breaks)"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1 #2 #3","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2","11":"a #1 #2"},"edge":{"12":"a #1 #2","13":"a #1 #2","14":"a #1 #2","15":"a #1 #2"},"firefox":{"2":"a #1 #2 #3","3":"a #1 #2 #3","3.5":"a #1 #2 #3","3.6":"a #1 #2 #3","4":"a #1 #2 #3","5":"a #1 #2 #3","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2 #3","11":"a #1 #2 #3","12":"a #1 #2 #3","13":"a #1 #2 #3","14":"a #1 #2 #3","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #1 #2 #3","24":"a #1 #2 #3","25":"a #1 #2 #3","26":"a #1 #2 #3","27":"a #1 #2 #3","28":"a #1 #2 #3","29":"a #1 #2 #3","30":"a #1 #2 #3","31":"a #1 #2 #3","32":"a #1 #2 #3","33":"a #1 #2 #3","34":"a #1 #2 #3","35":"a #1 #2 #3","36":"a #1 #2 #3","37":"a #1 #2 #3","38":"a #1 #2 #3","39":"a #1 #2 #3","40":"a #1 #2 #3","41":"a #1 #2 #3","42":"a #1 #2 #3","43":"a #1 #2 #3","44":"a #1 #2 #3","45":"a #1 #2 #3","46":"a #1 #2 #3","47":"a #1 #2 #3","48":"a #1 #2 #3","49":"a #1 #2 #3","50":"a #1 #2 #3","51":"a #1 #2 #3","52":"a #1 #2 #3","53":"a #1 #2 #3","54":"a #1 #2 #3","55":"a #1 #2 #3"},"chrome":{"4":"a #1 #2 #3","5":"a #1 #2 #3","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"a #1 #2 #3","11":"a #1 #2 #3","12":"a #1 #2 #3","13":"a #1 #2 #3","14":"a #1 #2 #3","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #1 #2 #3","24":"a #1 #2 #3","25":"a #1 #2 #3","26":"a #1 #2 #3","27":"a #1 #2 #3","28":"a #1 #2 #3","29":"a #1 #2 #3","30":"a #1 #2 #3","31":"a #1 #2 #3","32":"a #1 #2 #3","33":"a #1 #2 #3","34":"a #1 #2 #3","35":"a #1 #2 #3","36":"a #1 #2 #3","37":"a #1 #2 #3","38":"a #1 #2 #3","39":"a #1 #2 #3","40":"a #1 #2 #3","41":"a #1 #2 #3","42":"a #1 #2 #3","43":"a #1 #2 #3","44":"a #1 #2 #3","45":"a #1 #2 #3","46":"a #1 #2 #3","47":"a #1 #2 #3","48":"a #1 #2 #3","49":"a #1 #2 #3","50":"a #1 #2 #3","51":"a #1 #2 #3","52":"a #1 #2 #3","53":"a #1 #2 #3","54":"a #1 #2 #3","55":"a #1 #2 #3","56":"a #1 #2 #3","57":"a #1 #2 #3","58":"a #1 #2 #3","59":"a #1 #2 #3","60":"a #1 #2 #3"},"safari":{"3.1":"a #1 #2 #3","3.2":"a #1 #2 #3","4":"a #1 #2 #3","5":"a #1 #2 #3","5.1":"a #1 #2 #3","6":"a #1 #2 #3","6.1":"a #1 #2 #3","7":"a #1 #2 #3","7.1":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","9.1":"a #1 #2 #3","10":"a #2 #3","10.1":"a #1 #2 #3","TP":"a #1 #2 #3"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y #1","10.5":"y #1","10.6":"y #1","11":"y #1","11.1":"y #1","11.5":"y #1","11.6":"y #1","12":"y #1","12.1":"y #1","15":"a #1 #2 #3","16":"a #1 #2 #3","17":"a #1 #2 #3","18":"a #1 #2 #3","19":"a #1 #2 #3","20":"a #1 #2 #3","21":"a #1 #2 #3","22":"a #1 #2 #3","23":"a #1 #2 #3","24":"a #1 #2 #3","25":"a #1 #2 #3","26":"a #1 #2 #3","27":"a #1 #2 #3","28":"a #1 #2 #3","29":"a #1 #2 #3","30":"a #1 #2 #3","31":"a #1 #2 #3","32":"a #1 #2 #3","33":"a #1 #2 #3","34":"a #1 #2 #3","35":"a #1 #2 #3","36":"a #1 #2 #3","37":"a #1 #2 #3","38":"a #1 #2 #3","39":"a #1 #2 #3","40":"a #1 #2 #3","41":"a #1 #2 #3","42":"a #1 #2 #3","43":"a #1 #2 #3","44":"a #1 #2 #3","45":"a #1 #2 #3"},"ios_saf":{"3.2":"a #1 #2 #3","4.0-4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","5.0-5.1":"a #1 #2 #3","6.0-6.1":"a #1 #2 #3","7.0-7.1":"a #1 #2 #3","8":"a #1 #2 #3","8.1-8.4":"a #1 #2 #3","9.0-9.2":"a #1 #2 #3","9.3":"a #1 #2 #3","10.0-10.2":"a #1 #2 #3"},"op_mini":{"all":"y #1"},"android":{"2.1":"a #1 #2 #3","2.2":"a #1 #2 #3","2.3":"a #1 #2 #3","3":"a #1 #2 #3","4":"a #1 #2 #3","4.1":"a #1 #2 #3","4.2-4.3":"a #1 #2 #3","4.4":"a #1 #2 #3","4.4.3-4.4.4":"a #1 #2 #3","53":"a #1 #2 #3"},"bb":{"7":"a #1 #2 #3","10":"a #1 #2 #3"},"op_mob":{"10":"y #1","11":"y #1","11.1":"y #1","11.5":"y #1","12":"y #1","12.1":"y #1","37":"a #1 #2 #3"},"and_chr":{"56":"a #1 #2 #3"},"and_ff":{"51":"a #1 #2 #3"},"ie_mob":{"10":"a #1 #2","11":"a #1 #2"},"and_uc":{"11":"a #1 #2 #3"},"samsung":{"4":"a #1 #2 #3"},"and_qq":{"1.2":"a #1 #2 #3"}},"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":"Does not support `avoid` for `page-break-before` & `page-break-after` (only `page-break-inside`).","3":"Treats the `left` and `right` values like `always`."},"usage_perc_y":3.44,"usage_perc_a":94.92,"ucprefix":false,"parent":"","keywords":"page-break-before,page-break-after,page-break-inside,always,avoid","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-placeholder-shown":{"title":":placeholder-shown CSS pseudo-class","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.","spec":"http://www.w3.org/TR/selectors4/#placeholder","status":"wd","links":[{"url":"http://trac.webkit.org/changeset/172826","title":"WebKit commit"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1069015","title":"Firefox bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"For support of styling the actual placeholder text itself, see [CSS ::placeholder](http://caniuse.com/#feat=css-placeholder)","notes_by_num":{},"usage_perc_y":68.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":":placeholder-shown,placeholder-shown,placeholder","ie_id":"","chrome_id":"6404760559157248","firefox_id":"","webkit_id":"feature-css-selector-:placeholder-shown"},"broadcastchannel":{"title":"BroadcastChannel","description":"BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers) to send each other messages.","spec":"https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-bro…","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":56.07,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"broadcast,channel,messaging","ie_id":"","chrome_id":"4585496197988352","firefox_id":"","webkit_id":""},"css-crisp-edges":{"title":"Crisp edges/pixelated images","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`.","spec":"http://dev.w3.org/csswg/css-images-3/#valdef-image-rendering-crisp-edges","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering","title":"MDN article"},{"url":"http://updates.html5rocks.com/2015/01/pixelated","title":"HTML5Rocks article"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"a x #2 #5","8":"a x #2 #5","9":"a x #2 #5","10":"a x #2 #5","11":"a x #2 #5"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"y x #3","4":"y x #3","5":"y x #3","6":"y x #3","7":"y x #3","8":"y x #3","9":"y x #3","10":"y x #3","11":"y x #3","12":"y x #3","13":"y x #3","14":"y x #3","15":"y x #3","16":"y x #3","17":"y x #3","18":"y x #3","19":"y x #3","20":"y x #3","21":"y x #3","22":"y x #3","23":"y x #3","24":"y x #3","25":"y x #3","26":"y x #3","27":"y x #3","28":"y x #3","29":"y x #3","30":"y x #3","31":"y x #3","32":"y x #3","33":"y x #3","34":"y x #3","35":"y x #3","36":"y x #3","37":"y x #3","38":"y x #3","39":"y x #3","40":"y x #3","41":"y x #3","42":"y x #3","43":"y x #3","44":"y x #3","45":"y x #3","46":"y x #3","47":"y x #3","48":"y x #3","49":"y x #3","50":"y x #3","51":"y x #3","52":"y x #3","53":"y x #3","54":"y x #3","55":"y x #3"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y #4","52":"y #4","53":"y #4","54":"y #4","55":"y #4","56":"y #4","57":"y #4","58":"y #4","59":"y #4","60":"y #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a x #1","6.1":"a x #3 #6","7":"a x #3 #6","7.1":"a x #3 #6","8":"a x #3 #6","9":"a x #3 #6","9.1":"a x #3 #6","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y x #3","12":"y x #3","12.1":"y x #3","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y #4","29":"y #4","30":"y #4","31":"y #4","32":"y #4","33":"y #4","34":"y #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a x #1 #6","6.0-6.1":"a x #1 #6","7.0-7.1":"a x #3 #6","8":"a x #3 #6","8.1-8.4":"a x #3 #6","9.0-9.2":"a x #3 #6","9.3":"a x #3 #6","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y #4"},"bb":{"7":"n","10":"a x #1 #6"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y x #3","12.1":"y x #3","37":"y #4"},"and_chr":{"56":"y #4"},"and_ff":{"51":"y x #3"},"ie_mob":{"10":"a x #2 #5","11":"a x #2 #5"},"and_uc":{"11":"a x #1 #6"},"samsung":{"4":"y #4"},"and_qq":{"1.2":"n"}},"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>`. "},"usage_perc_y":73.28,"usage_perc_a":16.45,"ucprefix":false,"parent":"","keywords":"image-rendering,crisp-edges","ie_id":"","chrome_id":"5118058116939776","firefox_id":"","webkit_id":""},"css-text-align-last":{"title":"CSS3 text-align-last","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`.","spec":"http://www.w3.org/TR/css3-text/#text-align-last-property","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last","title":"MDN text-align-last"},{"url":"http://blogs.adobe.com/webplatform/2014/02/25/improving-your-sites-visual-d…","title":"Adobe Web Platform Article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a","13":"a","14":"a","15":"a"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2","46":"n d #2","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n d #3","23":"n d #3","24":"n d #3","25":"n d #3","26":"n d #3","27":"n d #3","28":"n d #3","29":"n d #3","30":"n d #3","31":"n d #3","32":"n d #3","33":"n d #3","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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"},"usage_perc_y":59,"usage_perc_a":6.64,"ucprefix":false,"parent":"","keywords":"text align last","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-logical-props":{"title":"CSS Logical Properties","description":"Use start/end properties that depend on LTR or RTL writing direction instead of left/right","spec":"http://dev.w3.org/csswg/css-logical-props/","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-margin-start","title":"MDN -moz-margin-start"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-padding-start","title":"MDN -moz-padding-start"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"a x #1","5":"a x #1","6":"a x #1","7":"a x #1","8":"a x #1","9":"a x #1","10":"a x #1","11":"a x #1","12":"a x #1","13":"a x #1","14":"a x #1","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a x #2","5":"a x #2","6":"a x #2","7":"a x #2","8":"a x #2","9":"a x #2","10":"a x #2","11":"a x #2","12":"a x #2","13":"a x #2","14":"a x #2","15":"a x #2","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"a x #2","22":"a x #2","23":"a x #2","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a x #2","43":"a x #2","44":"a x #2","45":"a x #2","46":"a x #2","47":"a x #2","48":"a x #2","49":"a x #2","50":"a x #2","51":"a x #2","52":"a x #2","53":"a x #2","54":"a x #2","55":"a x #2","56":"a x #2","57":"a x #2","58":"a x #2","59":"a x #2","60":"a x #2"},"safari":{"3.1":"a x #2","3.2":"a x #2","4":"a x #2","5":"a x #2","5.1":"a x #2","6":"a x #2","6.1":"a x #2","7":"a x #2","7.1":"a x #2","8":"a x #2","9":"a x #2","9.1":"a x #2","10":"a x #2","10.1":"a x #2","TP":"a x #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #2","16":"a x #2","17":"a x #2","18":"a x #2","19":"a x #2","20":"a x #2","21":"a x #2","22":"a x #2","23":"a x #2","24":"a x #2","25":"a x #2","26":"a x #2","27":"a x #2","28":"a x #2","29":"a x #2","30":"a x #2","31":"a x #2","32":"a x #2","33":"a x #2","34":"a x #2","35":"a x #2","36":"a x #2","37":"a x #2","38":"a x #2","39":"a x #2","40":"a x #2","41":"a x #2","42":"a x #2","43":"a x #2","44":"a x #2","45":"a x #2"},"ios_saf":{"3.2":"a x #2","4.0-4.1":"a x #2","4.2-4.3":"a x #2","5.0-5.1":"a x #2","6.0-6.1":"a x #2","7.0-7.1":"a x #2","8":"a x #2","8.1-8.4":"a x #2","9.0-9.2":"a x #2","9.3":"a x #2","10.0-10.2":"a x #2"},"op_mini":{"all":"n"},"android":{"2.1":"a x #2","2.2":"a x #2","2.3":"a x #2","3":"a x #2","4":"a x #2","4.1":"a x #2","4.2-4.3":"a x #2","4.4":"a x #2","4.4.3-4.4.4":"a x #2","53":"a x #2"},"bb":{"7":"a x #2","10":"a x #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #2"},"and_chr":{"56":"a x #2"},"and_ff":{"51":"a x #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #2"},"samsung":{"4":"a x #2"},"and_qq":{"1.2":"a x #2"}},"notes":"","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`"},"usage_perc_y":6.11,"usage_perc_a":82.16,"ucprefix":false,"parent":"","keywords":"margin-start,margin-end,padding-start,padding-end,border-start,border-end,inline-start,inline-end,block-start,block-end,block-size,inline-size","ie_id":"csslogicalpropertieslevel1","chrome_id":"","firefox_id":"","webkit_id":""},"fetch":{"title":"Fetch","description":"A modern replacement for XMLHttpRequest.","spec":"https://fetch.spec.whatwg.org/","status":"ls","links":[{"url":"https://github.com/github/fetch","title":"Polyfill"},{"url":"http://addyosmani.com/demos/fetch-api/","title":"Demo"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1 #4","35":"n d #1 #4","36":"n d #1 #4","37":"n d #1 #4","38":"n d #1 #4","39":"y #4","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"a #2","41":"a #2 #3","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"a #2","28":"a #2 #3","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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. https://bugzilla.mozilla.org/show_bug.cgi?id=1161625","5":"Appears to exist in Safari Technology Preview but does not work in current build. Should work in [next preview build](https://twitter.com/xeenon/status/715379838081576960)","6":"Can be enabled in `about:flags`"},"usage_perc_y":64.39,"usage_perc_a":0.08,"ucprefix":false,"parent":"","keywords":"fetch,service,workers,xhr,xmlhttprequest","ie_id":"fetchapi","chrome_id":"6730533392351232","firefox_id":"fetch","webkit_id":"specification-fetch-api"},"referrer-policy":{"title":"Referrer Policy","description":"Allow control of HTTP referrers via the referrer meta tag.","spec":"http://w3c.github.io/webappsec/specs/referrer-policy/","status":"wd","links":[{"url":"https://blog.mozilla.org/security/2015/01/21/meta-referrer/","title":"Mozilla security article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2","56":"a #2","57":"a #2","58":"a #2","59":"a #2","60":"a #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supports an [older draft](https://wiki.whatwg.org/wiki/Meta_referrer) of the specification with `never`, `always`, `origin` & `default` values.\r\n","2":"Chrome does not support `same-origin`, `strict-origin`, or `strict-origin-when-cross-origin` values ([issue 627968](https://bugs.chromium.org/p/chromium/issues/detail?id=627968))"},"usage_perc_y":32.61,"usage_perc_a":41.08,"ucprefix":false,"parent":"","keywords":"meta,referrer,referer","ie_id":"metareferrer","chrome_id":"","firefox_id":"","webkit_id":""},"background-attachment":{"title":"CSS background-attachment","description":"Method of defining how a background image is attached to a scrollable element. Values include `scroll` (default), `fixed` and `local`.","spec":"http://www.w3.org/TR/css3-background/#the-background-attachment","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment","title":"MDN article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2 #3","6.0-6.1":"a #2 #3","7.0-7.1":"a #2 #3","8":"a #2 #3","8.1-8.4":"a #2 #3","9.0-9.2":"a #2 #3","9.3":"a #2 #3","10.0-10.2":"a #2 #3"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"a #1","4.2-4.3":"a #1","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"a #2","10":"a #2"},"op_mob":{"10":"a #1","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"a #4"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"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://crbug.com/627037) only supports `local` if a `border-radius` is set on the element."},"usage_perc_y":43.63,"usage_perc_a":46.13,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"currentcolor":{"title":"CSS currentColor value","description":"A CSS value that will apply the existing `color` value to other properties like `background-color`, etc. ","spec":"http://www.w3.org/TR/css3-color/#currentcolor","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentColor_k…","title":"MDN article"},{"url":"http://css-tricks.com/currentcolor/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.92,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-pattern":{"title":"Pattern attribute for input fields","description":"Allows validation of an input field based on a given regular expression pattern.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-pattern-attribute","status":"ls","links":[{"url":"http://html5pattern.com","title":"Site with common sample patterns"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a #1 #2","6":"a #1 #2","6.1":"a #1 #2","7":"a #1 #2","7.1":"a #1 #2","8":"a #1 #2","9":"a #1 #2","9.1":"a #1 #2","10":"a #1 #2","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"a #1 #2","6.0-6.1":"a #1 #2","7.0-7.1":"a #1 #2","8":"a #1 #2","8.1-8.4":"a #1 #2","9.0-9.2":"a #1 #2","9.3":"a #1 #2","10.0-10.2":"a #1 #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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](http://caniuse.com/#feat=form-validation) for details."},"usage_perc_y":79.82,"usage_perc_a":12.59,"ucprefix":false,"parent":"form-validation","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"registerprotocolhandler":{"title":"Custom protocol handling","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.","spec":"https://html.spec.whatwg.org/multipage/webappapis.html#custom-handlers","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocol…","title":"MDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y #1","58":"y #1","59":"y #1","60":"y #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y #1","12":"y #1","12.1":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"y #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Supports protocols `mailto`, `mms`, `nntp`, `rtsp`, and `webcal` but requires custom protocols to start with `web+`"},"usage_perc_y":35.18,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-snappoints":{"title":"CSS Scroll snap points","description":"CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap points.","spec":"http://www.w3.org/TR/css-snappoints-1/","status":"cr","links":[{"url":"http://generatedcontent.org/post/66817675443/setting-native-like-scrolling-…","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap_Points","title":"MDN Documentation for CSS Scroll snap points"},{"url":"https://github.com/ckrack/scrollsnap-polyfill","title":"Polyfill"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"a x #1 #5 #6","11":"a x #2 #5 #6"},"edge":{"12":"a x #2 #5 #6","13":"a x #2 #5 #6","14":"a x #2 #5 #6","15":"a x #2 #5 #6"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"a #5","40":"a #5","41":"a #5","42":"a #5","43":"a #5","44":"a #5","45":"a #5","46":"a #5","47":"a #5","48":"a #5","49":"a #5","50":"a #5","51":"a #5","52":"a #5","53":"a #5","54":"a #5","55":"a #5"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a x #4 #5","9.1":"a x #4 #5","10":"a x #4 #5","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"a x #4 #5","9.3":"a x #4 #5","10.0-10.2":"a x #4 #5"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"a #5"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap…","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`."},"usage_perc_y":0.01,"usage_perc_a":22.94,"ucprefix":false,"parent":"","keywords":"scroll-snap-points-x,scroll-snap-points-y,scroll-snap-type,scroll-snap-destination,scroll-snap-coordinate,scroll-snap-margin,scroll-snap-align","ie_id":"cssscrollsnappoints","chrome_id":"5721832506261504","firefox_id":"","webkit_id":"specification-css-scroll-snap-points-module-level-1"},"input-minlength":{"title":"Minimum length attribute for input fields","description":"Declares a lower bound on the number of characters a user can input.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-maxlength-and-minleng…","status":"ls","links":[{"url":"http://www.w3.org/TR/html5/forms.html#setting-minimum-input-length-requirem…","title":"W3C usage example"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=932755","title":"Firefox tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=149832","title":"WebKit feature request bug"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"The [`pattern` attribute](http://caniuse.com/#feat=input-pattern) can be used [as an alternative](http://stackoverflow.com/a/10294291) solution for browsers without support.","notes_by_num":{},"usage_perc_y":58.03,"usage_perc_a":0,"ucprefix":false,"parent":"form-validation","keywords":"","ie_id":"","chrome_id":"6023370181181440","firefox_id":"","webkit_id":""},"css-media-interaction":{"title":"Media Queries: interaction media features","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.","spec":"http://www.w3.org/TR/mediaqueries-4/#mf-interaction","status":"wd","links":[{"url":"http://jordanm.co.uk/2013/11/11/potential-use-cases-for-script-hover-and-po…","title":"Potential use cases for script, hover and pointer CSS Level 4 Media Features"},{"url":"https://dev.opera.com/articles/media-features/","title":"Interaction Media Features and their potential (for incorrect assumptions)"},{"url":"https://github.com/twbs/mq4-hover-shim","title":"Polyfill for the `hover` media feature"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":66.14,"usage_perc_a":0,"ucprefix":false,"parent":"css-mediaqueries","keywords":"@media,interaction,hover,any-hover,css pointer,any-pointer,pointer:coarse,pointer:fine","ie_id":"mediaquerieslevel4pointerandhover","chrome_id":"6460705494532096","firefox_id":"","webkit_id":""},"ime":{"title":"Input Method Editor API","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.","spec":"http://www.w3.org/TR/ime-api/","status":"wd","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2014/03/31/building-better-input-experie…","title":"Building Better Input Experience for East Asian Users with the IME API in IE11"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y x #1"},"edge":{"12":"y x #1","13":"y x #1","14":"y x #1","15":"y x #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y x #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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'"},"usage_perc_y":5.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ime,cjk,input,internationalization,inputMethodContext,candidatewindow,composition","ie_id":"imeapi","chrome_id":"6366722080636928","firefox_id":"","webkit_id":""},"font-smooth":{"title":"CSS font-smooth","description":"Controls the application of anti-aliasing when fonts are rendered.","spec":"http://www.w3.org/TR/WD-font/#font-smooth","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","title":"MDN article"},{"url":"http://www.w3.org/TR/WD-font/#font-smooth","title":"Old version of W3C recommendation containing font-smooth"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"a x #2 #3","26":"a x #2 #3","27":"a x #2 #3","28":"a x #2 #3","29":"a x #2 #3","30":"a x #2 #3","31":"a x #2 #3","32":"a x #2 #3","33":"a x #2 #3","34":"a x #2 #3","35":"a x #2 #3","36":"a x #2 #3","37":"a x #2 #3","38":"a x #2 #3","39":"a x #2 #3","40":"a x #2 #3","41":"a x #2 #3","42":"a x #2 #3","43":"a x #2 #3","44":"a x #2 #3","45":"a x #2 #3","46":"a x #2 #3","47":"a x #2 #3","48":"a x #2 #3","49":"a x #2 #3","50":"a x #2 #3","51":"a x #2 #3","52":"a x #2 #3","53":"a x #2 #3","54":"a x #2 #3","55":"a x #2 #3"},"chrome":{"4":"n","5":"a x #1 #3","6":"a x #1 #3","7":"a x #1 #3","8":"a x #1 #3","9":"a x #1 #3","10":"a x #1 #3","11":"a x #1 #3","12":"a x #1 #3","13":"a x #1 #3","14":"a x #1 #3","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1 #3","36":"a x #1 #3","37":"a x #1 #3","38":"a x #1 #3","39":"a x #1 #3","40":"a x #1 #3","41":"a x #1 #3","42":"a x #1 #3","43":"a x #1 #3","44":"a x #1 #3","45":"a x #1 #3","46":"a x #1 #3","47":"a x #1 #3","48":"a x #1 #3","49":"a x #1 #3","50":"a x #1 #3","51":"a x #1 #3","52":"a x #1 #3","53":"a x #1 #3","54":"a x #1 #3","55":"a x #1 #3","56":"a x #1 #3","57":"a x #1 #3","58":"a x #1 #3","59":"a x #1 #3","60":"a x #1 #3"},"safari":{"3.1":"n","3.2":"n","4":"a x #1 #3","5":"a x #1 #3","5.1":"a x #1 #3","6":"a x #1 #3","6.1":"a x #1 #3","7":"a x #1 #3","7.1":"a x #1 #3","8":"a x #1 #3","9":"a x #1 #3","9.1":"a x #1 #3","10":"a x #1 #3","10.1":"a x #1 #3","TP":"a x #1 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1 #3","16":"a x #1 #3","17":"a x #1 #3","18":"a x #1 #3","19":"a x #1 #3","20":"a x #1 #3","21":"a x #1 #3","22":"a x #1 #3","23":"a x #1 #3","24":"a x #1 #3","25":"a x #1 #3","26":"a x #1 #3","27":"a x #1 #3","28":"a x #1 #3","29":"a x #1 #3","30":"a x #1 #3","31":"a x #1 #3","32":"a x #1 #3","33":"a x #1 #3","34":"a x #1 #3","35":"a x #1 #3","36":"a x #1 #3","37":"a x #1 #3","38":"a x #1 #3","39":"a x #1 #3","40":"a x #1 #3","41":"a x #1 #3","42":"a x #1 #3","43":"a x #1 #3","44":"a x #1 #3","45":"a x #1 #3"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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."},"usage_perc_y":0,"usage_perc_a":37.26,"ucprefix":false,"parent":"","keywords":"font smooth,font smoothing,-webkit-font-smoothing,-moz-osx-font-smoothing","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"audiotracks":{"title":"Audio Tracks","description":"Method of specifying and selecting between multiple audio tracks. Useful for providing audio descriptions, director's commentary, additional languages, alternative takes, etc.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist…","status":"ls","links":[{"url":"https://msdn.microsoft.com/en-US/library/hh772483%28v=vs.85%29.aspx","title":"MSDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Supported in Firefox by enabling \"media.track.enabled\" in about:config"},"usage_perc_y":17.96,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"AudioTrack,AudioTrackList,media,multiple,selection","ie_id":"audiotracks","chrome_id":"5748496434987008","firefox_id":"","webkit_id":""},"videotracks":{"title":"Video Tracks","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.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist…","status":"ls","links":[{"url":"https://msdn.microsoft.com/en-US/library/dn806262%28v=vs.85%29.aspx","title":"MSDN article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":13.69,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"VideoTrack,VideoTrackList,media,multiple,selection","ie_id":"videotracks","chrome_id":"5748496434987008","firefox_id":"","webkit_id":""},"contentsecuritypolicy2":{"title":"Content Security Policy Level 2","description":"Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources. CSP 2 adds hash-source, nonce-source, and five new directives","spec":"http://www.w3.org/TR/CSP/","status":"cr","links":[{"url":"http://html5rocks.com/en/tutorials/security/content-security-policy/","title":"HTML5Rocks article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #2","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #7","46":"a #7","47":"a #7","48":"a #7","49":"a #7","50":"a #7","51":"a #7","52":"a #7","53":"a #7","54":"a #7","55":"a #7"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"a #4","37":"a #4","38":"a #4","39":"a #5","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #4","24":"a #4","25":"a #4","26":"a #5","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #6"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Firefox 31-34 is missing the plugin-types, child-src, frame-ancestors, base-uri, and form-action directives.","2":"Firefox 35 is missing the plugin-types, child-src, frame-ancestors, and form-action directives.","3":"Firefox 36-44 is missing the plugin-types and child-src directives.","4":"Chrome 36-38 & Opera 23-25 are missing the plugin-types, child-src, frame-ancestors, base-uri, and form-action directives.","5":"Chrome 39 and Opera 26 are missing the plugin-types, child-src, base-uri, and form-action directives.","6":"Firefox 38 on Android is missing the child-src directive.","7":"Firefox 45+ is missing the plugin-types directive."},"usage_perc_y":67.45,"usage_perc_a":6.62,"ucprefix":false,"parent":"","keywords":"csp,header,nonce,hash","ie_id":"contentsecuritypolicylevel2","chrome_id":"4957003285790720","firefox_id":"","webkit_id":""},"permissions-api":{"title":"Permissions API","description":"High-level JavaScript API for checking and requesting permissions","spec":"https://w3c.github.io/permissions/","status":"unoff","links":[{"url":"http://updates.html5rocks.com/2015/04/permissions-api-for-the-web","title":"Permission API samples and examples"},{"url":"https://github.com/jimmywarting/browser-su","title":"Extended \"polyfill\" version of permission API"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":62.45,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web-permissions,navigator.permissions","ie_id":"","chrome_id":"6376494003650560","firefox_id":"permissions","webkit_id":""},"http2":{"title":"HTTP/2 protocol","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.","spec":"http://http2.github.io/http2-spec/index.html","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/HTTP/2","title":"Wikipedia"},{"url":"https://http2.akamai.com/demo","title":"Browser support test"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"a #1 #2"},"edge":{"12":"y #2","13":"y #2","14":"y #2","15":"y #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y #2","37":"y #2","38":"y #2","39":"y #2","40":"y #2","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y #2","42":"y #2","43":"y #2","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2 #4","52":"y #2 #4","53":"y #2 #4","54":"y #2 #4","55":"y #2 #4","56":"y #2 #4","57":"y #2 #4","58":"y #2 #4","59":"y #2 #4","60":"y #2 #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a #2 #3","9.1":"a #2 #3","10":"a #2 #3","10.1":"a #2 #3","TP":"a #2 #3"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y #2","29":"y #2","30":"y #2","31":"y #2","32":"y #2","33":"y #2","34":"y #2","35":"y #2","36":"y #2","37":"y #2","38":"y #2 #4","39":"y #2 #4","40":"y #2 #4","41":"y #2 #4","42":"y #2 #4","43":"y #2 #4","44":"y #2 #4","45":"y #2 #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y #2","9.3":"y #2","10.0-10.2":"y #2"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y #2"},"and_chr":{"56":"y #2 #4"},"and_ff":{"51":"y #2"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y #2"},"and_qq":{"1.2":"y #2 #4"}},"notes":"See also support for [the SPDY protocol](http://caniuse.com/#feat=spdy), precursor of HTTP2.","notes_by_num":{"1":"Partial support in IE11 refers to being limited to Windows 10.","2":"Only supports HTTP2 over TLS (https)","3":"Partial support in Safari refers to being limited to OSX 10.11+","4":"Only supports HTTP2 if servers support protocol negotiation via ALPN"},"usage_perc_y":73.91,"usage_perc_a":5.65,"ucprefix":false,"parent":"","keywords":"","ie_id":"http2","chrome_id":"5152586365665280","firefox_id":"http2","webkit_id":""},"font-kerning":{"title":"CSS3 font-kerning","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.","spec":"http://www.w3.org/TR/css3-fonts/#font-kerning-prop","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-kerning","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y x","30":"y x","31":"y x","32":"y x","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"y x","17":"y x","18":"y x","19":"y x","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Browsers with support for [font feature settings](http://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."},"usage_perc_y":86.37,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"jpeg2000":{"title":"JPEG 2000 image format","description":"JPEG 2000 (JP2) was created by the Joint Photographic Experts Group committee in 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard (created in 1992) with a newly designed, wavelet-based method. It offers some advantages in image fidelity over standard JPEG.","spec":"http://www.itu.int/rec/T-REC-T.800-200208-I","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/JPEG_2000","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y #1","5.1":"y #1","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Not supported by Safari for Windows"},"usage_perc_y":12.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"jp2,jpeg2000,jpeg 2000","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"upgradeinsecurerequests":{"title":"Upgrade Insecure Requests","description":"Declare that browsers should transparently upgrade HTTP resources on a website to HTTPS.","spec":"http://www.w3.org/TR/upgrade-insecure-requests/","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_direct…","title":"MDN article"},{"url":"https://googlechrome.github.io/samples/csp-upgrade-insecure-requests/index.…","title":"Demo Website"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=143653","title":"WebKit feature request bug"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":62.79,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"security,header,uir,upgrade-insecure-requests","ie_id":"upgradeinsecureresourcerequests","chrome_id":"6534575509471232","firefox_id":"","webkit_id":""},"publickeypinning":{"title":"Public Key Pinning","description":"Declare that a website's HTTPS certificate should only be treated as valid if the public key is contained in a specified list to prevent MITM attacks that use valid CA-issued certificates.","spec":"https://tools.ietf.org/html/rfc7469","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Security/Public_Key_Pinning","title":"MDN article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"u","21":"u","22":"u","23":"a","24":"u","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"The HTTP header syntax is 'Public-Key-Pins: pin-sha256=\"base64==\"; max-age=expireTime [; includeSubdomains][; report-uri=\"reportURI\"]'.","notes_by_num":{},"usage_perc_y":63.17,"usage_perc_a":0.01,"ucprefix":false,"parent":"","keywords":"pkp,hpkp,security,header","ie_id":"publickeypinningextensionforhttp","chrome_id":"","firefox_id":"","webkit_id":""},"input-email-tel-url":{"title":"Email, telephone & URL input types","description":"Text input fields intended for email addresses, telephone numbers or URLs. Particularly useful in combination with [form validation](http://caniuse.com/#feat=form-validation)","spec":"https://html.spec.whatwg.org/multipage/forms.html#telephone-state-(type=tel)","status":"ls","links":[{"url":"http://www.htmlgoodies.com/html5/tutorials/whats-new-in-html5-forms-email-u…","title":"Article on usage"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":94.25,"usage_perc_a":0.05,"ucprefix":false,"parent":"forms","keywords":"input[type=email],input[type=tel],input[type=url]","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"fieldset-disabled":{"title":"disabled attribute of the fieldset element","description":"Allows disabling all of the form control descendants of a fieldset via a `disabled` attribute on the fieldset element itself.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-fieldset-disabled","status":"ls","links":[{"url":"http://output.jsbin.com/bibiqi/1/edit","title":"JS Bin Testcase/Demo"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"u","6":"a #1 #2","7":"a #1 #2","8":"a #1","9":"a #1","10":"a #1 #2","11":"a #1 #2"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"u","17":"u","18":"u","19":"u","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1 #2"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"a #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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://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://connect.microsoft.com/IE/feedbackdetail/view/817488)"},"usage_perc_y":89.15,"usage_perc_a":8.16,"ucprefix":false,"parent":"","keywords":"HTMLFieldSetElement,fieldset,disabled","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"font-variant-alternates":{"title":"CSS font-variant-alternates","description":"Controls the usage of alternate glyphs associated to alternative names defined in @font-feature-values for certain types of OpenType fonts.","spec":"http://www.w3.org/TR/css-fonts-3/#propdef-font-variant-alternates","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-alternates","title":"Mozilla Developer Network"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n #1","11":"n #1"},"edge":{"12":"n #1","13":"n #1","14":"n #1","15":"n #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n #1","5":"n #1","6":"n #1","7":"n #1","8":"n #1","9":"n #1","10":"n #1","11":"n #1","12":"n #1","13":"n #1","14":"n #1","15":"n #1","16":"n #1","17":"n #1","18":"n #1","19":"n #1","20":"n #1","21":"n #1","22":"n #1","23":"n #1","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n #1","17":"n #1","18":"n #1","19":"n #1","20":"n #1","21":"n #1","22":"n #1","23":"n #1","24":"n #1","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"n #1","33":"n #1","34":"n #1","35":"n #1","36":"n #1","37":"n #1","38":"n #1","39":"n #1","40":"n #1","41":"n #1","42":"n #1","43":"n #1","44":"n #1","45":"n #1","46":"n #1","47":"n #1","48":"n #1","49":"n #1","50":"n #1","51":"n #1","52":"n #1","53":"n #1","54":"n #1","55":"n #1","56":"n #1","57":"n #1","58":"n #1","59":"n #1","60":"n #1"},"safari":{"3.1":"n","3.2":"n","4":"n #1","5":"n #1","5.1":"n #1","6":"n #1","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n #1","16":"n #1","17":"n #1","18":"n #1","19":"n #1","20":"n #1","21":"n #1","22":"n #1","23":"n #1","24":"n #1","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"n #1","33":"n #1","34":"n #1","35":"n #1","36":"n #1","37":"n #1","38":"n #1","39":"n #1","40":"n #1","41":"n #1","42":"n #1","43":"n #1","44":"n #1","45":"n #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n #1","4.2-4.3":"n #1","5.0-5.1":"n #1","6.0-6.1":"n #1","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n #1","4.4.3-4.4.4":"n #1","53":"n #1"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n #1"},"and_chr":{"56":"n #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n #1"},"samsung":{"4":"n #1"},"and_qq":{"1.2":"n #1"}},"notes":"","notes_by_num":{"1":"Low-level syntax available in [font-feature-settings](http://caniuse.com/#feat=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"},"usage_perc_y":17.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"font-feature,font-feature-settings,font-variant","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"form-attribute":{"title":"Form attribute","description":"Attribute for associating input and submit buttons with a form.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-fae-form","status":"ls","links":[{"url":"http://www.w3.org/TR/html5/forms.html#attr-fae-form","title":"Input attribute specification"},{"url":"http://www.impressivewebs.com/html5-form-attribute/","title":"Article on usage"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":91.58,"usage_perc_a":0,"ucprefix":false,"parent":"forms","keywords":"form,attribute","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"es5":{"title":"ECMAScript 5","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.","spec":"http://www.ecma-international.org/ecma-262/5.1/","status":"other","links":[{"url":"http://kangax.github.io/compat-table/es5/","title":"Detailed compatibility tables & tests"},{"url":"http://ejohn.org/blog/ecmascript-5-objects-and-properties/","title":"Overview of objects & properties"},{"url":"https://github.com/es-shims/es5-shim","title":"ES5 polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n #4","9":"a #2","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a","3":"a","3.5":"a","3.6":"a","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a","9.5-9.6":"a","10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a #1 #2 #3","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a","10":"y"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"As the specification includes many JavaScript features, un-numbered partial support varies widely and is shown in detail on the [ECMAScript 5 compatibilty tables](http://kangax.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"},"usage_perc_y":93,"usage_perc_a":4.94,"ucprefix":false,"parent":"","keywords":"es5,function.bind,array.foreach,array.indexof,array.map,date.now,defineproperties,getprototypeof,keys,seal,freeze,preventextensions,issealed,isfrozen,isextensible,getownpropertydescriptorgetownpropertynames,toisostringc,isarray,lastindexof,every,some,reduce,reduceright,getter,setter","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"page-transition-events":{"title":"PageTransitionEvent","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.","spec":"https://html.spec.whatwg.org/multipage/indices.html#event-pageshow","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/pageshow","title":"pageshow - Event reference | MDN"},{"url":"http://www.w3schools.com/tags/ev_onpageshow.asp","title":"HTML onpageshow Event Attribute"}],"categories":["HTML5","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"history,page,transition,hide,show,bfcache,event,persisted","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ogg-vorbis":{"title":"Ogg Vorbis audio format","description":"Vorbis is a free and open source audio format, most commonly used with the Ogg container.","spec":"http://www.xiph.org/vorbis/doc/Vorbis_I_spec.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Vorbis","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{},"usage_perc_y":76.13,"usage_perc_a":0,"ucprefix":false,"parent":"audio","keywords":".ogg,.oga,application/ogg,audio/ogg","ie_id":"vorbisaudiocodec,oggcontainer","chrome_id":"","firefox_id":"","webkit_id":""},"meter":{"title":"meter element","description":"Method of indicating the current level of a gauge.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-meter-element","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter","title":"Mozilla Developer Network article"},{"url":"http://html5doctor.com/measure-up-with-the-meter-tag/","title":"HTML5 Doctor on meter element"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://dev.opera.com/articles/new-form-features-in-html5/#newoutput","title":"Dev.Opera article"},{"url":"http://peter.sh/examples/?/html/meter-progress.html","title":"Examples of progress and meter elements"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":82.52,"usage_perc_a":0,"ucprefix":false,"parent":"forms","keywords":"<meter>","ie_id":"meterelement","chrome_id":"","firefox_id":"","webkit_id":""},"progress":{"title":"progress element","description":"Method of indicating a progress state.","spec":"https://html.spec.whatwg.org/multipage/forms.html#the-progress-element","status":"ls","links":[{"url":"http://css-tricks.com/html5-progress-element/","title":"CSS-Tricks article"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress","title":"Mozilla Developer Network article"},{"url":"https://dev.opera.com/articles/new-form-features-in-html5/#newoutput","title":"Dev.Opera article"},{"url":"http://peter.sh/examples/?/html/meter-progress.html","title":"Examples of progress and meter elements"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"iOS Safari does not support \"indeterminate\" <progress> elements."},"usage_perc_y":86.94,"usage_perc_a":9.76,"ucprefix":false,"parent":"forms","keywords":"#progressmeter,<progress>","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-filter-function":{"title":"CSS filter() function","description":"This function filters a CSS input image with a set of filter functions (like blur, grayscale or hue)","spec":"http://www.w3.org/TR/filter-effects/#FilterCSSImageValue","status":"wd","links":[{"url":"http://iamvdo.me/en/blog/advanced-css-filters#filter","title":"Blog post"}],"categories":["CSS","CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y x","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"filter, function","ie_id":"cssfilterimagefunction","chrome_id":"5425136400334848","firefox_id":"","webkit_id":""},"css-element-function":{"title":"CSS element() function","description":"This function renders a live image generated from an arbitrary HTML element","spec":"http://www.w3.org/TR/css4-images/#element-notation","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/element","title":"MDN page"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"a x #1","3":"a x #1","3.5":"a x #1","3.6":"a x #1","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y x"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"In Firefox < 4, usage limited to the background and background-image CSS properties"},"usage_perc_y":6.66,"usage_perc_a":0.07,"ucprefix":false,"parent":"","keywords":"element, function","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"u2f":{"title":"FIDO U2F API","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. ","spec":"https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido…","status":"other","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1065729","title":"Mozilla bug"},{"url":"http://googleonlinesecurity.blogspot.com/2014/10/strengthening-2-step-verif…","title":"Google Security article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n #1","39":"n #1","40":"n #1","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"y","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the \"FIDO U2F (Universal 2nd Factor)\" Chrome extension"},"usage_perc_y":27.42,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"fido,u2f","ie_id":"fidou2f","chrome_id":"","firefox_id":"","webkit_id":""},"aac":{"title":"AAC audio file format","description":"Advanced Audio Coding format, designed to be the successor format to MP3, with generally better sound quality.","spec":"http://www.digitalpreservation.gov/formats/fdd/fdd000114.shtml","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Advanced_Audio_Coding","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"u","11":"u","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"y","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Support refers to using 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."},"usage_perc_y":87.25,"usage_perc_a":6.49,"ucprefix":false,"parent":"audio","keywords":"audio/aac","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-prefetch":{"title":"Resource Hints: prefetch","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)\">`","spec":"http://www.w3.org/TR/resource-hints/#dfn-prefetch","status":"wd","links":[{"url":"https://en.wikipedia.org/wiki/Link_prefetching","title":"Wikipedia article"},{"url":"https://medium.com/@luisvieira_gmr/html5-prefetch-1e54f6dda15d","title":"Article on prefetch and other hints"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":71.79,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"ol-reversed":{"title":"Reversed attribute of ordered lists","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.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#attr-ol-reversed","status":"ls","links":[{"url":"http://html5doctor.com/ol-element-attributes/","title":"HTML5 Doctor article on <ol> element attributes (including reversed)"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"u","17":"u","18":"u","19":"u","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":90.49,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"reversed,list,ol,attribute","ie_id":"olreversedattribute","chrome_id":"","firefox_id":"","webkit_id":""},"css-first-letter":{"title":"::first-letter CSS pseudo-element selector","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.","spec":"http://www.w3.org/TR/css3-selectors/#first-letter","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter","title":"Mozilla Developer Network"}],"categories":["CSS"],"stats":{"ie":{"5.5":"u","6":"a #3 #4","7":"a #3 #4","8":"a #3","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #2","3":"a #1","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"u","6":"u","7":"u","8":"u","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"a #1","4":"a #1","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #2","10.5":"a #2","10.6":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":97.74,"usage_perc_a":0.55,"ucprefix":false,"parent":"","keywords":"first,letter,pseudo,element,class,selector","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"wbr-element":{"title":"wbr (word break opportunity) element","description":"Represents an extra place where a line of text may optionally be broken.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#the-wbr-element","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr","title":"Mozilla Developer Network"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.48,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"wbr,element,word,break,opportunity","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"const":{"title":"const","description":"Declares a constant with block level scope","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarati…","status":"other","links":[{"url":"http://generatedcontent.org/post/54444832868/variables-and-constants-in-es6","title":"Variables and Constants in ES6"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statement…","title":"Const (MDN)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #2","5":"a #2","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2 #3","40":"a #2 #3","41":"a #4","42":"a #4","43":"a #4","44":"a #4","45":"a #4","46":"a #4","47":"a #4","48":"a #4","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"a #2","3.2":"a #2","4":"a #2","5":"a #2","5.1":"a #2 #3","6":"a #2 #3","6.1":"a #2 #3","7":"a #2 #3","7.1":"a #2 #3","8":"a #2 #3","9":"a #2 #3","9.1":"a #2 #3","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1 #3","12":"a #1 #3","12.1":"a #1 #3","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #4","29":"a #4","30":"a #4","31":"a #4","32":"a #4","33":"a #4","34":"a #4","35":"a #4","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #2","4.0-4.1":"a #2","4.2-4.3":"a #2","5.0-5.1":"a #2 #3","6.0-6.1":"a #2 #3","7.0-7.1":"a #2 #3","8":"a #2 #3","8.1-8.4":"a #2 #3","9.0-9.2":"a #2 #3","9.3":"a #2 #3","10.0-10.2":"y"},"op_mini":{"all":"a #1 #3"},"android":{"2.1":"u","2.2":"u","2.3":"a #2","3":"a #2 #3","4":"a #2 #3","4.1":"a #2 #3","4.2-4.3":"a #2 #3","4.4":"a #2 #3","4.4.3-4.4.4":"a #2 #3","53":"y"},"bb":{"7":"a #2 #3","10":"a #2 #3"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1 #3","12.1":"a #1 #3","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"a #2 #3"},"samsung":{"4":"a #4"},"and_qq":{"1.2":"a #2 #3"}},"notes":"","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"},"usage_perc_y":73.84,"usage_perc_a":23.52,"ucprefix":false,"parent":"","keywords":"ES6,constant,block,scope","ie_id":"","chrome_id":"4645595339816960","firefox_id":"","webkit_id":""},"css-all":{"title":"CSS all property","description":"A shorthand property for resetting all CSS properties except for `direction` and `unicode-bidi`.","spec":"http://www.w3.org/TR/css-cascade-3/#all-shorthand","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/all","title":"Mozilla Developer Network"},{"url":"http://mcc.id.au/blog/2013/10/all-unset","title":"Resetting styles using `all: unset`"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=116966","title":"WebKit bug 116966: [css3-cascade] Add support for `all` shorthand property"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":75.02,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,all,property,shorthand,reset","ie_id":"cssallshorthand","chrome_id":"6178222542684160","firefox_id":"","webkit_id":""},"css-initial-value":{"title":"CSS initial value","description":"A CSS value that will apply a property's initial value as defined in the CSS specification that defines the property","spec":"http://www.w3.org/TR/css-values/#common-keywords","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/initial","title":"Mozilla Developer Network"},{"url":"https://css-tricks.com/getting-acquainted-with-initial/","title":"CSS Tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":89.77,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,initial,value","ie_id":"cssinitialvalue","chrome_id":"","firefox_id":"","webkit_id":""},"css-letter-spacing":{"title":"letter-spacing CSS property","description":"Controls spacing between characters of text (i.e. \"tracking\" in typographical terms). Not to be confused with kerning.","spec":"http://www.w3.org/TR/CSS2/text.html#propdef-letter-spacing","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing","title":"Mozilla Developer Network"}],"categories":["CSS"],"stats":{"ie":{"5.5":"u","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"a #1","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Truncates or rounds fractional portions of values"},"usage_perc_y":93.29,"usage_perc_a":1.75,"ucprefix":false,"parent":"","keywords":"CSS,letter,spacing,tracking","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-unset-value":{"title":"CSS unset value","description":"A CSS value that's the same as \"inherit\" if a property is inherited or \"initial\" if a property is not inherited.","spec":"http://www.w3.org/TR/css-cascade-3/#inherit-initial","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/unset","title":"Mozilla Developer Network"},{"url":"http://mcc.id.au/blog/2013/10/all-unset","title":"Resetting styles using `all: unset`"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=148614","title":"WebKit bug 148614: Add support for the `unset` CSS property value"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":75.89,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,unset,value","ie_id":"cssunsetvalue","chrome_id":"","firefox_id":"","webkit_id":""},"insertadjacenthtml":{"title":"Element.insertAdjacentHTML()","description":"Inserts a string of HTML into a specified position in the DOM relative to the given element.","spec":"http://www.w3.org/TR/DOM-Parsing/#widl-Element-insertAdjacentHTML-void-DOMS…","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML","title":"Mozilla Developer Network"},{"url":"https://gist.github.com/eligrey/1276030","title":"Polyfill"}],"categories":["JS API"],"stats":{"ie":{"5.5":"u","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Throws an \"Invalid target element for this operation.\" error [when called on a table, tbody, thead, or tr element.](http://ejohn.org/blog/dom-insertadjacenthtml/)"},"usage_perc_y":97.57,"usage_perc_a":0.67,"ucprefix":false,"parent":"","keywords":"element,insert,adjacent,HTML","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"let":{"title":"let","description":"Declares a variable with block level scope","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarati…","status":"other","links":[{"url":"http://generatedcontent.org/post/54444832868/variables-and-constants-in-es6","title":"Variables and Constants in ES6"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statement…","title":"Let (MDN)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n d #1","3":"n d #1","3.5":"n d #1","3.6":"n d #1","4":"n d #1","5":"n d #1","6":"n d #1","7":"n d #1","8":"n d #1","9":"n d #1","10":"n d #1","11":"n d #1","12":"n d #1","13":"n d #1","14":"n d #1","15":"n d #1","16":"n d #1","17":"n d #1","18":"n d #1","19":"n d #1","20":"n d #1","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n d #2","20":"n d #2","21":"n d #2","22":"n d #2","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"n d #2","29":"n d #2","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n d #2","16":"n d #2","17":"n d #2","18":"n d #2","19":"n d #2","20":"n d #2","21":"n d #2","22":"n d #2","23":"n d #2","24":"n d #2","25":"n d #2","26":"n d #2","27":"n d #2","28":"a #3","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"a #3"},"and_qq":{"1.2":"n"}},"notes":"","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 \u2018Experimental Javascript features\u2019 flag to be enabled","3":"Only supported in strict mode"},"usage_perc_y":73.57,"usage_perc_a":4.6,"ucprefix":false,"parent":"","keywords":"ES6,variable,block,scope","ie_id":"","chrome_id":"4645595339816960","firefox_id":"","webkit_id":""},"arrow-functions":{"title":"Arrow functions","description":"Function shorthand using `=>` syntax and lexical `this` binding.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-arrow-function-definiti…","status":"other","links":[{"url":"https://github.com/lukehoban/es6features#arrows","title":"ECMAScript 6 features: Arrows"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions…","title":"Arrow Functions (MDN)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":70.76,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,fat,arrow,function,lexical,this","ie_id":"arrowfunctiones6","chrome_id":"5047308127305728","firefox_id":"","webkit_id":"feature-arrow-functions"},"asmjs":{"title":"asm.js","description":"an extraordinarily optimizable, low-level subset of JavaScript, indended to be a compile target from languages like C++.","spec":"http://asmjs.org/spec/latest/","status":"other","links":[{"url":"http://asmjs.org/","title":"Homepage"},{"url":"https://github.com/dherman/asm.js/","title":"Source for spec and tools"},{"url":"http://blogs.windows.com/msedgedev/2015/05/07/bringing-asm-js-to-chakra-mic…","title":"Bringing Asm.js to Chakra and Microsoft Edge"},{"url":"https://dev.modern.ie/platform/changelog/10532-pc/","title":"Microsoft Edge support announcement"}],"categories":["JS API","Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n d #2","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"a #1"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Chrome does not support Ahead-Of-Time compilation but performance doubled in Chrome 28: https://en.wikipedia.org/wiki/Asm.js#Implementations","2":"Supported in MS Edge under the \"Enable experimental Javascript features\" flag."},"usage_perc_y":8.13,"usage_perc_a":53.86,"ucprefix":false,"parent":"","keywords":"asm,asm.js,asmjs,WebAssembly","ie_id":"asmjs","chrome_id":"","firefox_id":"asmjs","webkit_id":"feature-asm.js"},"lazyload":{"title":"Resource Hints: Lazyload","description":"Gives a hint to the browser to lower the loading priority of a resource.","spec":"https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourcePriorities/Overvi…","status":"unoff","links":[{"url":"https://msdn.microsoft.com/en-us/library/dn369270(v=vs.85).aspx","title":"lazyload attribute | lazyload property"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":5.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-dns-prefetch":{"title":"Resource Hints: dns-prefetch","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=\"http://example-domain.com/\">`","spec":"http://www.w3.org/TR/resource-hints/#dns-prefetch","status":"wd","links":[{"url":"https://msdn.microsoft.com/en-us/library/dn265039(v=vs.85).aspx","title":"Prerender and prefetch support"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Controlling_DNS_prefetchi…","title":"Controlling DNS prefetching"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"u","8":"u","8.1-8.4":"u","9.0-9.2":"u","9.3":"u","10.0-10.2":"u"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"u"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"u","37":"u"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"u"},"samsung":{"4":"u"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"IE9 [supported `dns-prefetch` as `prefetch`](http://blogs.msdn.com/b/ieinternals/archive/2012/03/01/ie10-beta-consumer-preview-minor-changes-changelist.aspx) as the former wasn\u2019t defined yet."},"usage_perc_y":69.04,"usage_perc_a":0.24,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-prerender":{"title":"Resource Hints: prerender","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)\">`","spec":"http://www.w3.org/TR/resource-hints/#prerender","status":"wd","links":[{"url":"https://msdn.microsoft.com/en-us/library/dn265039(v=vs.85).aspx","title":"Prerender and prefetch support"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":63.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"rest-parameters":{"title":"Rest parameters","description":"Allows representation of an indefinite number of arguments as an array.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-function-definitions","status":"other","links":[{"url":"https://hacks.mozilla.org/2015/05/es6-in-depth-rest-parameters-and-defaults/","title":"Rest parameters and defaults"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n d #1","45":"n d #1","46":"n d #1","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n d #1","32":"n d #1","33":"n d #1","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the \"Experimental Javascript features\" flag to be enabled"},"usage_perc_y":70.44,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript","ie_id":"restparameterses6","chrome_id":"5937087912083456","firefox_id":"","webkit_id":""},"css-cross-fade":{"title":"CSS Cross-Fade Function","description":"Image function to create a \"crossfade\" between images. This allows one image to transition (fade) into another based on a percentage value.","spec":"https://drafts.csswg.org/css-images-3/#cross-fade-function","status":"unoff","links":[{"url":"http://peter.sh/files/examples/cross-fading.html","title":"Simple demo"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y x","50":"y x","51":"y x","52":"y x","53":"y x","54":"y x","55":"y x","56":"y x","57":"y x","58":"y x","59":"y x","60":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y x","4.4.3-4.4.4":"y x","53":"y x"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x"},"and_chr":{"56":"y x"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{},"usage_perc_y":71.44,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"css,image,crossfade","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-writing-mode":{"title":"CSS writing-mode property","description":"Property to define whether lines of text are laid out horizontally or vertically and the direction in which blocks progress.","spec":"https://drafts.csswg.org/css-writing-modes-3/#block-flow","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode","title":"MDN article"},{"url":"https://www.chromestatus.com/feature/5707470202732544","title":"Chrome Platform Status"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"u","8":"y x","9":"y x","10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y x","6":"y x","6.1":"y x","7":"y x","7.1":"y x","8":"y x","9":"y x","9.1":"y x","10":"y x","10.1":"y x","TP":"y x"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y x","6.0-6.1":"y x","7.0-7.1":"y x","8":"y x","8.1-8.4":"y x","9.0-9.2":"y x","9.3":"y x","10.0-10.2":"y x"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x","4.1":"y x","4.2-4.3":"y x","4.4":"y x","4.4.3-4.4.4":"y x","53":"y"},"bb":{"7":"y x","10":"y x"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a x","11":"a x"},"and_uc":{"11":"y x"},"samsung":{"4":"y x"},"and_qq":{"1.2":"y x"}},"notes":"","notes_by_num":{"1":"Internet Explorer supports different values from an [earlier version of the spec](http://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"},"usage_perc_y":89.31,"usage_perc_a":4.95,"ucprefix":false,"parent":"","keywords":"css,writing,direction,i18n,vertical,ltr,rtl","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"customevent":{"title":"CustomEvent","description":"A DOM event interface that can carry custom application-defined data.","spec":"https://dom.spec.whatwg.org/#interface-customevent","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent","title":"Mozilla Developer Network"},{"url":"https://github.com/krambuhl/custom-event-polyfill","title":"Polyfill based on the MDN snippet"},{"url":"https://github.com/jonathantneal/EventListener","title":"EventListener polyfill which includes a CustomEvent polyfill"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"u","6":"u","7":"u","8":"u","9":"a #1 #2","10":"a #1 #2","11":"a #1 #2","12":"a #1 #2","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a #1 #2","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"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","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a #1 #2","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1 #2","10":"y"},"op_mob":{"10":"n","11":"a #1","11.1":"a #1","11.5":"a #1","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":92.3,"usage_perc_a":5.42,"ucprefix":false,"parent":"","keywords":"custom events,custom,event","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"textcontent":{"title":"Node.textContent","description":"DOM Node property representing the text content of a node and its descendants","spec":"https://dom.spec.whatwg.org/#dom-node-textcontent","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"`Node.textContent` is somewhat similar to, but has important differences from, [`Node.innerText`](http://caniuse.com/#feat=innertext).","notes_by_num":{},"usage_perc_y":97.93,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"addeventlistener":{"title":"EventTarget.addEventListener()","description":"The modern standard API for adding DOM event handlers. Introduced in the DOM Level 2 Events spec. Also implies support for 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.","spec":"https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListen…","title":"Mozilla Developer Network"},{"url":"https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/E…","title":"Financial Times IE8 polyfill"},{"url":"https://github.com/WebReflection/ie8","title":"WebReflection ie8 polyfill"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n #1","6":"n #1","7":"n #1","8":"n #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y #2","3":"y #2","3.5":"y #2","3.6":"y #2","4":"y #2","5":"y #2","6":"y #2","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"IE<=8 instead only supports the [proprietary `.attachEvent()` method](https://msdn.microsoft.com/en-us/library/ms536343%28VS.85%29.aspx). It also does not support the [capture phase](http://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`."},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"event,target,add,remove,listener,capture,capturing,phase","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"dispatchevent":{"title":"EventTarget.dispatchEvent","description":"Method to programmatically trigger a DOM event.","spec":"https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent","title":"Mozilla Developer Network"},{"url":"https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/E…","title":"Financial Times IE8 polyfill"},{"url":"https://github.com/WebReflection/ie8","title":"WebReflection ie8 polyfill"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"n #1","7":"n #1","8":"n #1","9":"y #1","10":"y #1","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #1","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supports Microsoft's proprietary [`EventTarget.fireEvent() method`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/fireE…."},"usage_perc_y":97.93,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"dispatch,event,target,fire,trigger,dom","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"documenthead":{"title":"document.head","description":"Convenience property for accessing the `<head>` element","spec":"https://html.spec.whatwg.org/multipage/#dom-document-head","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Document/head","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.77,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"document,head","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"innertext":{"title":"Node.innerText","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.","spec":"https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText","title":"Mozilla Developer Network"},{"url":"https://github.com/whatwg/compat/issues/5","title":"WHATWG Compatibility Standard issue #5: spec innerText"},{"url":"https://github.com/timdown/rangy","title":"Rangy, a JS range and selection library which contains an innerText implementation"},{"url":"http://discourse.wicg.io/t/standardizing-innertext/799","title":"Standardizing innerText \u2013 Web Incubator Community Group (WICG) discussion"},{"url":"https://msdn.microsoft.com/library/ms533899(v=vs.85).aspx","title":"MSDN documentation"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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`Node.innerText` is similar to, but has some important differences from, the standard [`Node.textContent`](http://caniuse.com/#feat=textcontent) property.","notes_by_num":{},"usage_perc_y":97.6,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"inner,text,content","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"client-hints-dpr-width-viewport":{"title":"Client Hints: DPR, Width, Viewport-Width","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.","spec":"https://tools.ietf.org/html/draft-grigorik-http-client-hints","status":"other","links":[{"url":"https://developers.google.com/web/updates/2015/09/automating-resource-selec…","title":"Automating resource selection with Client Hints"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=935216","title":"Mozilla Bug 935216 - Implement Client-Hints HTTP header"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=145380","title":"WebKit Bug 145380 - Add Content-DPR header support"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":52.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"client hints, client-hints, dpr, viewport, content-dpr","ie_id":"httpclienthints","chrome_id":"5504430086553600","firefox_id":"","webkit_id":""},"link-rel-preconnect":{"title":"Resource Hints: preconnect","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/\">`","spec":"http://www.w3.org/TR/resource-hints/#preconnect","status":"wd","links":[{"url":"https://www.igvita.com/2015/08/17/eliminating-roundtrips-with-preconnect/","title":"Eliminating Roundtrips with Preconnect"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y #1","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"u"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"u"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":58.62,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"preconnect, resource hints","ie_id":"preconnectresourcehints","chrome_id":"5560623895150592","firefox_id":"","webkit_id":""},"netinfo":{"title":"Network Information API","description":"The Network Information API enables web applications to access information about the network connection in use by the device.","spec":"http://w3c.github.io/netinfo/","status":"unoff","links":[{"url":"https://www.igvita.com/2014/12/15/capability-reporting-with-service-worker/","title":"(NetInfo) Capability reporting with ServiceWorker"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"n"}},"notes":"In Chrome the API is enabled on Android only, support for other platforms [is coming](https://docs.google.com/a/chromium.org/document/d/1LTk9uVMGi4kurzcF… . Support is also available on [Firefox OS](https://bugzilla.mozilla.org/show_bug.cgi?id=960426).","notes_by_num":{"1":"Supports only the `navigator.connection.type` value which doesn't match the latest spec. [see details](http://davidbcalhoun.com/2010/using-navigator-connection-android/)"},"usage_perc_y":25.69,"usage_perc_a":4.26,"ucprefix":false,"parent":"","keywords":"performance,network,network information,netinfo","ie_id":"","chrome_id":"6338383617982464","firefox_id":"","webkit_id":""},"setimmediate":{"title":"Efficient Script Yielding: setImmediate()","description":"Yields control flow without the minimum delays enforced by setTimeout","spec":"http://w3c.github.io/setImmediate/","status":"unoff","links":[{"url":"http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/","title":"The case for setImmediate()"},{"url":"http://www.nczonline.net/blog/2011/09/19/script-yielding-with-setimmediate/","title":"Script yielding with setImmediate"},{"url":"https://github.com/YuzuJS/setImmediate","title":"setImmediate polyfill"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=686201","title":"Firefox tracking bug"},{"url":"https://code.google.com/p/chromium/issues/detail?id=146172","title":"Chrome bug closed as WONTFIX"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":5.96,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"setImmediate,clearImmediate,setTimeout,performance","ie_id":"efficientscriptyieldingsetimmediate","chrome_id":"","firefox_id":"","webkit_id":""},"es6-number":{"title":"ES6 Number","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`.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-number-objects","status":"other","links":[{"url":"http://www.2ality.com/2015/04/numbers-math-es6.html","title":"New number and Math features in ES6"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #3","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"a #4","20":"a #4","21":"a #4","22":"a #4","23":"a #4","24":"a #4","25":"a #4","26":"a #4","27":"a #4","28":"a #4","29":"a #4","30":"a #4","31":"a #4","32":"a #4","33":"a #4","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a #4","16":"a #4","17":"a #4","18":"a #4","19":"a #4","20":"a #4","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"a #4","4.2-4.3":"a #4","4.4":"a #4","4.4.3-4.4.4":"a #4","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #4"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":76.45,"usage_perc_a":12.23,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,number,built-in,EPSILON,MIN_SAFE_INTEGER,MAX_SAFE_INTEGER,isFinite,isInteger,isSafeInteger,isNaN","ie_id":"numberbuiltinses6","chrome_id":"","firefox_id":"","webkit_id":""},"maxlength":{"title":"maxlength attribute for input and textarea elements","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-maxlength","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-maxlen…","title":"Mozilla Developer Network"}],"categories":["DOM","HTML5","JS API"],"stats":{"ie":{"5.5":"u","6":"a #1 #2 #3","7":"a #1 #2 #3","8":"a #1 #2 #3","9":"a #1 #2 #3","10":"y","11":"y"},"edge":{"12":"y #4","13":"y #4","14":"y #4","15":"y #4"},"firefox":{"2":"a #1 #2 #3","3":"a #1 #2 #3","3.5":"a #1 #2 #3","3.6":"a #1 #2 #3","4":"y #4","5":"y #4","6":"y #4","7":"y #4","8":"y #4","9":"y #4","10":"y #4","11":"y #4","12":"y #4","13":"y #4","14":"y #4","15":"y #4","16":"y #4","17":"y #4","18":"y #4","19":"y #4","20":"y #4","21":"y #4","22":"y #4","23":"y #4","24":"y #4","25":"y #4","26":"y #4","27":"y #4","28":"y #4","29":"y #4","30":"y #4","31":"y #4","32":"y #4","33":"y #4","34":"y #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"a #1 #2 #3","4":"a #1 #2 #3","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"a #5","8.1-8.4":"a #5","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"a #6"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #6"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4….","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."},"usage_perc_y":84.55,"usage_perc_a":13.77,"ucprefix":false,"parent":"form-validation","keywords":"maximum,length,input,textarea,too,long,validity,state","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"proxy":{"title":"Proxy object","description":"The Proxy object allows custom behaviour to be defined for fundamental operations. Useful for logging, profiling, object virtualisation, etc.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-proxy-object-internal-m…","status":"other","links":[{"url":"https://github.com/lukehoban/es6features#proxies","title":"ECMAScript 6 Proxies"},{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Ob…","title":"MDN Proxy"},{"url":"http://www.nczonline.net/blog/2011/09/15/experimenting-with-ecmascript-6-pr…","title":"Experimenting with ECMAScript 6 proxies"},{"url":"http://www.2ality.com/2014/12/es6-proxies.html","title":"Meta programming with ECMAScript 6 proxies"},{"url":"https://github.com/tvcutsem/harmony-reflect","title":"Polyfill for Proxies"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n d","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n d","26":"n d","27":"n d","28":"n d","29":"n d","30":"n d","31":"n d","32":"n d","33":"n d","34":"n d","35":"n d","36":"n d","37":"n d","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n d","16":"n d","17":"n d","18":"n d","19":"n d","20":"n d","21":"n d","22":"n d","23":"n d","24":"n d","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":70.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"proxies,es6,es2015,traps,meta,virtual,logging,host","ie_id":"proxieses6","chrome_id":"4811188005240832","firefox_id":"","webkit_id":"feature-proxy-objects"},"keyboardevent-which":{"title":"KeyboardEvent.which","description":"A legacy `KeyboardEvent` property that is equivalent to either `KeyboardEvent.keyCode` or `KeyboardEvent.charCode` depending on whether the key is alphanumeric.","spec":"https://w3c.github.io/uievents/#widl-KeyboardEvent-which","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"This property is legacy and deprecated, but its replacement(s) are not yet widely supported.","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?). "},"usage_perc_y":63.62,"usage_perc_a":27.38,"ucprefix":false,"parent":"","keywords":"keyboard,event,which","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-charcode":{"title":"KeyboardEvent.charCode","description":"A legacy `KeyboardEvent` property that gives the Unicode codepoint number of a character key pressed during a `keypress` event.","spec":"https://w3c.github.io/uievents/#widl-KeyboardEvent-charCode","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/charCode","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"n #1"},"and_chr":{"56":"y"},"and_ff":{"51":"n #1"},"ie_mob":{"10":"n #1","11":"n #1"},"and_uc":{"11":"n #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"This property is legacy and deprecated, but its replacement(s) are not yet widely supported.","notes_by_num":{"1":"Does not appear to support the `keypress` event at all"},"usage_perc_y":84.78,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"keyboard,event,key,char,character,code,charCode","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-code":{"title":"KeyboardEvent.code","description":"A `KeyboardEvent` property representing the physical key that was pressed, ignoring the keyboard layout and ignoring whether any modifier keys were active.","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-code","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code","title":"Mozilla Developer Network"},{"url":"https://code.google.com/p/chromium/issues/detail?id=227231","title":"Chrome tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=149584","title":"WebKit feature request bug"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled in Chrome & Opera through the \"experimental Web Platform features\" flag"},"usage_perc_y":32.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"keyboard,event,code","ie_id":"uieventskeyboardqueryapis","chrome_id":"5228092293382144","firefox_id":"","webkit_id":""},"keyboardevent-location":{"title":"KeyboardEvent.location","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).","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-location","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/location","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"a #1","5":"a #1","5.1":"a #1","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Only supports `KeyboardEvent.keyLocation` from an older draft of the DOM Level 3 Events spec instead."},"usage_perc_y":83.68,"usage_perc_a":10.7,"ucprefix":false,"parent":"","keywords":"keyboard,event,key,location,keyLocation,numpad","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-getmodifierstate":{"title":"KeyboardEvent.getModifierState()","description":"`KeyboardEvent` method that returns the state (whether the key is pressed/locked or not) of the given modifier key.","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-getModifierState","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierS…","title":"Mozilla Developer Network"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=40999","title":"WebKit feature request bug"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":71.93,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"keyboard,event,get,modifier,state","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"keyboardevent-key":{"title":"KeyboardEvent.key","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.","spec":"http://www.w3.org/TR/uievents/#widl-KeyboardEvent-key","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key","title":"Mozilla Developer Network"},{"url":"https://code.google.com/p/chromium/issues/detail?id=227231","title":"Chrome tracking bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=69029","title":"WebKit feature request bug"},{"url":"http://www.w3.org/TR/DOM-Level-3-Events-key/","title":"Spec listing all key string values"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"u","12.1":"y","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to these versions of Firefox returning `\"MozPrintableKey\"` for all character keys."},"usage_perc_y":63.25,"usage_perc_a":0.1,"ucprefix":false,"parent":"","keywords":"keyboard,event,key","ie_id":"","chrome_id":"4748790720364544","firefox_id":"","webkit_id":""},"brotli":{"title":"Brotli Accept-Encoding/Content-Encoding","description":"More effective lossless compression algorithm than gzip and deflate.","spec":"https://tools.ietf.org/html/rfc7932","status":"other","links":[{"url":"http://google-opensource.blogspot.com/2015/09/introducing-brotli-new-compre…","title":"Introducing Brotli"},{"url":"https://groups.google.com/a/chromium.org/forum/m/#!msg/blink-dev/JufzX024oy…","title":"Blink's intent to ship"},{"url":"https://github.com/google/brotli","title":"Official code repository"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=154859","title":"WebKit Bug 154859: Add support for format brotli for HTTP compression"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n d #1","50":"y #2","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1","37":"n d #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Supported in Chrome and Opera behind the 'Brotli Content-Encoding' flag","2":"Enabled since 27 May 2016"},"usage_perc_y":56.75,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"http,compression,accept,content,encoding","ie_id":"brotlicompresseddataformat","chrome_id":"5420797577396224","firefox_id":"","webkit_id":""},"element-closest":{"title":"Element.closest()","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.","spec":"https://dom.spec.whatwg.org/#dom-element-closest","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/closest","title":"Mozilla Developer Network"},{"url":"https://github.com/jonathantneal/closest","title":"Polyfill"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":70.76,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"element,closest,dom","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-element.closest()"},"input-event":{"title":"input event","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#event-input-input","status":"ls","links":[{"url":"https://html.spec.whatwg.org/multipage/forms.html#send-select-update-notifi…","title":"Specification for `<select>` elements firing the `input` event"},{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/input","title":"Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1 #3 #5","10":"y #3 #5","11":"y #3 #5"},"edge":{"12":"y #3 #5","13":"y #3 #5","14":"y #3 #5","15":"y #3 #5"},"firefox":{"2":"u","3":"a #2 #3 #4","3.5":"a #2 #3 #4","3.6":"y #3 #4","4":"y #3 #4","5":"y #3 #4","6":"y #3 #4","7":"y #3 #4","8":"y #3 #4","9":"y #3 #4","10":"y #3 #4","11":"y #3 #4","12":"y #3 #4","13":"y #3 #4","14":"y #3 #4","15":"y #3 #4","16":"y #3 #4","17":"y #3 #4","18":"y #3 #4","19":"y #3 #4","20":"y #3 #4","21":"y #3 #4","22":"y #3 #4","23":"y #3 #4","24":"y #3 #4","25":"y #3 #4","26":"y #3 #4","27":"y #3 #4","28":"y #3 #4","29":"y #3 #4","30":"y #3 #4","31":"y #3 #4","32":"y #3 #4","33":"y #3 #4","34":"y #3 #4","35":"y #3 #4","36":"y #3 #4","37":"y #3 #4","38":"y #3 #4","39":"y #3 #4","40":"y #3 #4","41":"y #3 #4","42":"y #3 #4","43":"y #3 #4","44":"y #3 #4","45":"y #3 #4","46":"y #3 #4","47":"y #3 #4","48":"y #3 #4","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y #3 #4","16":"y #3 #4","17":"y #3 #4","18":"y #3 #4","19":"y #3 #4","20":"y #3 #4","21":"y #3 #4","22":"y #3 #4","23":"y #3 #4","24":"y #3 #4","25":"y #3 #4","26":"y #3 #4","27":"y #3 #4","28":"y #3 #4","29":"y #3 #4","30":"y #3 #4","31":"y #3 #4","32":"y #3 #4","33":"y #3 #4","34":"y #3 #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4","46":"y #4","47":"y #4","48":"y #4","49":"y #4","50":"y #4","51":"y #4","52":"y #4","53":"y #4","54":"y #4","55":"y #4","56":"y #4","57":"y #4","58":"y #4","59":"y #4","60":"y #4"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y #3 #4","6":"u","6.1":"y #4","7":"y #4","7.1":"y #4","8":"y #4","9":"y #4","9.1":"y #4","10":"y #4","10.1":"y #4","TP":"y #4"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a #2","12":"u","12.1":"y","15":"y #3 #4","16":"y #3 #4","17":"y #3 #4","18":"y #3 #4","19":"y #3 #4","20":"y #3 #4","21":"y #3 #4","22":"y #4","23":"y #4","24":"y #4","25":"y #4","26":"y #4","27":"y #4","28":"y #4","29":"y #4","30":"y #4","31":"y #4","32":"y #4","33":"y #4","34":"y #4","35":"y #4","36":"y #4","37":"y #4","38":"y #4","39":"y #4","40":"y #4","41":"y #4","42":"y #4","43":"y #4","44":"y #4","45":"y #4"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y #3 #4","6.0-6.1":"y #3 #4","7.0-7.1":"y #3 #4","8":"y #4","8.1-8.4":"y #4","9.0-9.2":"y #4","9.3":"y #4","10.0-10.2":"y #4"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y #3 #4","3":"y #3 #4","4":"y #3 #4","4.1":"y #3 #4","4.2-4.3":"y #3 #4","4.4":"y #3 #4","4.4.3-4.4.4":"y #4","53":"y #4"},"bb":{"7":"y #3 #4","10":"y #4"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y #4"},"and_chr":{"56":"y #4"},"and_ff":{"51":"y #3 #4"},"ie_mob":{"10":"y #3 #5","11":"y #3 #5"},"and_uc":{"11":"y #3 #4"},"samsung":{"4":"y #4"},"and_qq":{"1.2":"y #4"}},"notes":"","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://connect.microsoft.com/IE/feedback/details/1816207) 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](https://bugs.webkit.org/show_bug.cgi?id=149398), 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://connect.microsoft.com/IE/feedback/details/1883692)."},"usage_perc_y":94.13,"usage_perc_a":0.28,"ucprefix":false,"parent":"","keywords":"oninput","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-search":{"title":"Search input type","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\">`.","spec":"https://html.spec.whatwg.org/multipage/forms.html#text-(type=text)-state-an…","status":"ls","links":[{"url":"https://css-tricks.com/webkit-html5-search-inputs/","title":"CSS-Tricks article"},{"url":"http://www.wufoo.com/html5/types/5-search.html","title":"Wufoo's The Current State of HTML5 Forms: The search Type"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y #1","11":"y #1"},"edge":{"12":"y #1","13":"y #1","14":"y #1","15":"y #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"u","22":"u","23":"u","24":"u","25":"u","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y #1"},"android":{"2.1":"u","2.2":"u","2.3":"y #1","3":"y #1","4":"y #1","4.1":"y #1","4.2-4.3":"y #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y #1"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y #1","37":"y #1"},"and_chr":{"56":"y"},"and_ff":{"51":"y #1"},"ie_mob":{"10":"y #1","11":"y #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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\">`."},"usage_perc_y":97.3,"usage_perc_a":0,"ucprefix":false,"parent":"forms","keywords":"input,type,search","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-motion-paths":{"title":"CSS Motion Path","description":"Allows elements to be animated along SVG paths or shapes","spec":"https://drafts.fxtf.org/motion-1/","status":"unoff","links":[{"url":"http://codepen.io/danwilson/post/css-motion-paths","title":"Blog post"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/motion-path","title":"MDN article"},{"url":"https://googlechrome.github.io/samples/css-motion-path/index.html","title":"Demo"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1186329","title":"Firefox tracking bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #1","44":"n d #1","45":"n d #1","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #1","31":"n d #1","32":"n d #1","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires the \"Experimental Web Platform features\" flag to be enabled"},"usage_perc_y":52.47,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"cssmotionpath","chrome_id":"6190642178818048","firefox_id":"","webkit_id":""},"css-scroll-behavior":{"title":"CSSOM Scroll-behavior","description":"Method of specifying the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs.","spec":"https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior","title":"Mozilla Developer Network"},{"url":"https://code.google.com/p/chromium/issues/detail?id=243871","title":"Chrome launch bug "},{"url":"https://blog.gospodarets.com/native_smooth_scrolling","title":"Blog post with demo"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n d #1 #2","42":"n d #1 #2","43":"n d #1 #2","44":"n d #1 #2","45":"n d #1 #2","46":"n d #1 #2","47":"n d #1 #2","48":"n d #1 #2","49":"n d #1 #2","50":"n d #1 #2","51":"n d #1 #2","52":"n d #1 #2","53":"n d #1 #2","54":"n d #1 #2","55":"n d #1 #2","56":"n d #1 #2","57":"n d #1 #2","58":"n d #1 #2","59":"n d #1 #2","60":"n d #1 #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n d #1 #2","29":"n d #1 #2","30":"n d #1 #2","31":"n d #1 #2","32":"n d #1 #2","33":"n d #1 #2","34":"n d #1 #2","35":"n d #1 #2","36":"n d #1 #2","37":"n d #1 #2","38":"n d #1 #2","39":"n d #1 #2","40":"n d #1 #2","41":"n d #1 #2","42":"n d #1 #2","43":"n d #1 #2","44":"n d #1 #2","45":"n d #1 #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1 #2"}},"notes":"","notes_by_num":{"1":"Partial support refers to support everything except of `Element.scrollIntoView()` and not together with pinch viewport.","2":"Supported in Chrome and Opera behind the 'Smooth Scrolling' and/or 'Enable experimental web platform features' flag"},"usage_perc_y":6.25,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"smooth,scroll,cssom,scroll-behavior","ie_id":"cssomviewsmoothscrollapi","chrome_id":"5812155903377408","firefox_id":"","webkit_id":""},"subresource-integrity":{"title":"Subresource Integrity","description":"Subresource Integrity enables browsers to verify that file is delivered without unexpected manipulation.","spec":"http://www.w3.org/TR/SRI/","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity","title":"Subresource Integrity (MDN)"},{"url":"https://www.srihash.org/","title":"SRI generation and browser support test"},{"url":"https://sritest.io","title":"SRI hash webpage scanner"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=148363","title":"WebKit feature request bug"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":58.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"SRI, security, hash","ie_id":"subresourceintegrity","chrome_id":"6183089948590080","firefox_id":"subresource-integrity","webkit_id":"feature-subresource-integrity"},"custom-elementsv1":{"title":"Custom Elements v1","description":"Method of defining new HTML tags.","spec":"https://html.spec.whatwg.org/multipage/scripting.html#custom-elements","status":"ls","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=889230","title":"Firefox tracking bug: Implement Custom Elements (from Web Components)"},{"url":"http://status.modern.ie/customelements","title":"IE Web Platform Status and Roadmap: Custom Elements"},{"url":"https://developers.google.com/web/fundamentals/primers/customelements/","title":"Google Developers - Custom elements v1: reusable web components"},{"url":"https://github.com/webcomponents/webcomponentsjs/tree/v1/src/CustomElements…","title":"customElements.define polyfill"},{"url":"https://webkit.org/blog/7027/introducing-custom-elements/","title":"WebKit Blog: Introducing Custom Elements"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"p","11":"p"},"edge":{"12":"p","13":"p","14":"p","15":"p"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"p","31":"p","32":"p","33":"p","34":"p","35":"p","36":"p","37":"p","38":"p","39":"p","40":"p","41":"p","42":"p","43":"p","44":"p","45":"p","46":"p","47":"p","48":"p","49":"p","50":"p","51":"p","52":"p","53":"p","54":"p","55":"p"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"p","53":"p","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"p","9":"p","9.1":"p","10":"p","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"p"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"p"}},"notes":"Chrome 36+/Opera 20+ implemented a previous version of Custom Elements (v0) that used `.registerElement()`. Other browsers are implementing v1, `window.customElements.define()`.","notes_by_num":{"1":"Supports \"Autonomous custom elements\" but not \"Customized built-in elements\""},"usage_perc_y":26.1,"usage_perc_a":23.73,"ucprefix":false,"parent":"","keywords":"web components,custom elements","ie_id":"customelements","chrome_id":"4696261944934400","firefox_id":"custom-elements","webkit_id":"feature-custom-elements"},"css-in-out-of-range":{"title":":in-range and :out-of-range CSS pseudo-classes","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.","spec":"http://www.w3.org/TR/selectors4/#range-pseudos","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range","title":"MDN article"},{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-in-range","title":"WHATWG HTML specification for `:in-range` and `:out-of-range`"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"a #3","30":"a #3","31":"a #3","32":"a #3","33":"a #3","34":"a #3","35":"a #3","36":"a #3","37":"a #3","38":"a #3","39":"a #3","40":"a #3","41":"a #3","42":"a #3","43":"a #3","44":"a #3","45":"a #3","46":"a #3","47":"a #3","48":"a #3","49":"a #3","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2 #3","40":"a #2 #3","41":"a #2 #3","42":"a #2 #3","43":"a #2 #3","44":"a #2 #3","45":"a #2 #3","46":"a #2 #3","47":"a #2 #3","48":"a #2 #3","49":"a #2 #3","50":"a #2 #3","51":"a #2 #3","52":"a #2","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a #2 #3","6":"a #2 #3","6.1":"a #2 #3","7":"a #2 #3","7.1":"a #2 #3","8":"a #2 #3","9":"a #2 #3","9.1":"a #2 #3","10":"a #2 #3","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #2","10.5":"a #2","10.6":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","11.6":"a #2","12":"a #2","12.1":"a #2","15":"a #2 #3","16":"a #2 #3","17":"a #2 #3","18":"a #2 #3","19":"a #2 #3","20":"a #2 #3","21":"a #2 #3","22":"a #2 #3","23":"a #2 #3","24":"a #2 #3","25":"a #2 #3","26":"a #2 #3","27":"a #2 #3","28":"a #2 #3","29":"a #2 #3","30":"a #2 #3","31":"a #2 #3","32":"a #2 #3","33":"a #2 #3","34":"a #2 #3","35":"a #2 #3","36":"a #2 #3","37":"a #2 #3","38":"a #2 #3","39":"a #2","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a #2 #3","6.0-6.1":"a #2 #3","7.0-7.1":"a #2 #3","8":"a #2 #3","8.1-8.4":"a #2 #3","9.0-9.2":"a #2 #3","9.3":"a #2 #3","10.0-10.2":"a #2 #3"},"op_mini":{"all":"a #1"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a #2","4.1":"a #2","4.2-4.3":"a #2","4.4":"a #2","4.4.3-4.4.4":"a #2","53":"y"},"bb":{"7":"n","10":"a #2"},"op_mob":{"10":"a #2","11":"a #2","11.1":"a #2","11.5":"a #2","12":"a #2","12.1":"a #2","37":"a #2"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #2"},"samsung":{"4":"a #2"},"and_qq":{"1.2":"y"}},"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://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7…, [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://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7…, [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)."},"usage_perc_y":55.23,"usage_perc_a":37.61,"ucprefix":false,"parent":"","keywords":"in,out,of,range,:in-range,:out-of-range","ie_id":"cssrangepseudoclasses","chrome_id":"","firefox_id":"","webkit_id":""},"push-api":{"title":"Push API","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.","spec":"https://w3c.github.io/push-api/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Push_API","title":"MDN article"},{"url":"https://developers.google.com/web/updates/2015/03/push-notifications-on-the…","title":"Google Developers article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"y #2","45":"y #2","46":"y #2","47":"y #2","48":"y #2","49":"y #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"a #1 #2","45":"a #1 #2","46":"a #1 #2","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"y #2","51":"y #2","52":"y #2","53":"y #2","54":"y #2","55":"y #2","56":"y #2","57":"y #2","58":"y #2","59":"y #2","60":"y #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"u","38":"u","39":"u","40":"u","41":"u","42":"y #2","43":"y #2","44":"y #2","45":"y #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to not supporting `PushEvent.data` and `PushMessageData`","2":"Requires full browser to be running to receive messages"},"usage_perc_y":60.28,"usage_perc_a":2.05,"ucprefix":false,"parent":"","keywords":"push notifications","ie_id":"pushapi","chrome_id":"5416033485586432","firefox_id":"push","webkit_id":""},"template-literals":{"title":"ES6 Template Literals (Template Strings)","description":"Template literals are string literals allowing embedded expressions. You can use multi-line strings and string interpolation features with them. Formerly known as template strings.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-template-literals","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_…","title":"MDN article"},{"url":"https://ponyfoo.com/articles/es6-template-strings-in-depth","title":"ES6 Template Literals in Depth"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"u","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"u"}},"notes":"","notes_by_num":{},"usage_perc_y":75.86,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"templatestringses6","chrome_id":"4743002513735680","firefox_id":"","webkit_id":"feature-template-literals"},"flac":{"title":"FLAC audio format","description":"Popular lossless audio compression format","spec":"https://xiph.org/flac/format.html","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/FLAC","title":"Wikipedia"},{"url":"http://crbug.com/93887","title":"Chrome support bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge UserVoice request"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"u","45":"u","46":"u","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"a #1 #2","51":"a #1 #2","52":"a #1 #2","53":"a #1 #2","54":"a #1 #2","55":"a #1 #2","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"y #1"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"y","37":"y #1"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y #1"},"and_qq":{"1.2":"n"}},"notes":"Support refers to use using the `audio` element, not other conditions.","notes_by_num":{"1":"HTMLMediaElement.canPlayType('audio/flac') returns an empty string","2":"Only works on ChromeOS"},"usage_perc_y":61.06,"usage_perc_a":8.82,"ucprefix":false,"parent":"audio","keywords":"flac,lossless,audio","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"background-position-x-y":{"title":"background-position-x & background-position-y","description":"CSS longhand properties to define x or y positions separately.","spec":"https://drafts.csswg.org/css-backgrounds-4/#background-position-longhands","status":"unoff","links":[{"url":"https://msdn.microsoft.com/en-us/library/ms530719%28v=vs.85%29.aspx","title":"MSDN article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=550426","title":"Firefox implementation bug"},{"url":"http://snook.ca/archives/html_and_css/background-position-x-y","title":"Blog post on background-position-x & y properties"}],"categories":["CSS"],"stats":{"ie":{"5.5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"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_varia…. See [this Stack Overflow answer](http://stackoverflow.com/a/29282573/94197) for an example.","notes_by_num":{},"usage_perc_y":93.5,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-revert-value":{"title":"CSS revert value","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`.","spec":"https://www.w3.org/TR/css-cascade-4/#valdef-all-revert","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/revert","title":"Mozilla Developer Network"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1215878","title":"Firefox feature request bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://code.google.com/p/chromium/issues/detail?id=579788","title":"Chrome feature request issue"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.1,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"CSS,reset,value","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-widows-orphans":{"title":"CSS widows & orphans","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.","spec":"https://drafts.csswg.org/css-break-3/#widows-orphans","status":"rec","links":[{"url":"http://thenewcode.com/946/CSS-last-line-Controlling-Widows-amp-Orphans","title":"CSS last-line: Controlling Widows & Orphans"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=137367","title":"Firefox support bug"},{"url":"http://tympanus.net/codrops/css_reference/orphans/","title":"codrops article on orphans"},{"url":"http://tympanus.net/codrops/css_reference/widows/","title":"codrops article on widows"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y #1","9":"y #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y #1","9.5-9.6":"y #1","10.0-10.1":"y #1","10.5":"y #1","10.6":"y #1","11":"y #1","11.1":"y #1","11.5":"y #1","11.6":"y #1","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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)"},"usage_perc_y":81.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"web-bluetooth":{"title":"Web Bluetooth","description":"Allows web sites to communicate over GATT with nearby user-selected Bluetooth devices in a secure and privacy-preserving way.","spec":"http://webbluetoothcg.github.io/web-bluetooth/","status":"unoff","links":[{"url":"https://developers.google.com/web/updates/2015/07/interact-with-ble-devices…","title":"Intro"},{"url":"https://googlechrome.github.io/samples/web-bluetooth/","title":"Samples"},{"url":"https://github.com/WebBluetoothCG/demos","title":"Demos"},{"url":"https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementatio…","title":"Implementation Status"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1 #3","54":"n d #1 #3","55":"n d #1 #3","56":"y #4","57":"y #4","58":"y #4","59":"y #4","60":"y #4"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1 #2","37":"n d #1 #2","38":"n d #1 #2","39":"n d #1 #2","40":"n d #1 #3","41":"n d #1 #3","42":"n d #1 #3","43":"y #4","44":"y #4","45":"y #4"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y #4"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1 #3"}},"notes":"","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/gh-pages/implement…","2":"Only in Opera Mobile","3":"Available in [Origin Trials](https://developers.google.com/web/updates/2015/07/interact-with-ble… for Chrome OS, Android M, and Mac","4":"Currently support [varies by OS](https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implement…"},"usage_perc_y":43.32,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"bluetooth,ble,iot,physicalweb,webbluetooth","ie_id":"webbluetooth","chrome_id":"5264933985976320","firefox_id":"web-bluetooth","webkit_id":""},"scrollintoview":{"title":"scrollIntoView","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.","spec":"https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView","title":"MDN article"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1"}},"notes":"","notes_by_num":{"1":"Supports scrollIntoView with boolean parameter, but not `smooth` behavior option"},"usage_perc_y":6.25,"usage_perc_a":88.64,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-nth-child-of":{"title":"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes","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.","spec":"https://drafts.csswg.org/selectors/#the-nth-child-pseudo","status":"unoff","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=854148","title":"Mozilla Bug 854148 - Support for :nth-child(An+B of sel), :nth-last-child(An+B of sel) pseudo-classes"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=304163","title":"Chromium Issue 304163: Implement :nth-child(an+b of S) and :nth-last-child(an+b of S) pseudo-classes"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"nth-child,nth-last-child,nth,child,an,b,of,s,sel,selector,list","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-css-selector-:nth-child(an+b-of-selector-list)-and-:nth-last-child(an+b-of-selector-list)"},"focusin-focusout-events":{"title":"focusin & focusout events","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.","spec":"https://www.w3.org/TR/DOM-Level-3-Events/#event-type-focusin","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/focusin","title":"focusin event at Mozilla Developer Network"},{"url":"https://developer.mozilla.org/en-US/docs/Web/Events/focusout","title":"focusout event at Mozilla Developer Network"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=687787","title":"Mozilla Bug 687787 - Add support for DOM3 focusin/focusout"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"u","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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":{},"usage_perc_y":88.3,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"focusin,focusout,focus,event","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-matches-pseudo":{"title":":matches() CSS pseudo-class","description":"The `: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.","spec":"https://www.w3.org/TR/selectors4/#matches","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:any","title":"Mozilla Developer Network article"},{"url":"https://webkit.org/blog/3615/css-selectors-inside-selectors-discover-matche…","title":"WebKit blog post about adding `:matches()` and other Selectors Level 4 features"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=906353","title":"Mozilla Bug 906353 - Add support for css4 selector :matches(), the standard of :-moz-any()"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge UserVoice feature request for :matches()"},{"url":"http://output.jsbin.com/lehina","title":"JS Bin testcase"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=568705","title":"Issue 568705: Chrome does not support :matches() selector"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"a x #3","5":"a x #3","6":"a x #3","7":"a x #3","8":"a x #3","9":"a x #3","10":"a x #3","11":"a x #3","12":"a x #3","13":"a x #3","14":"a x #3","15":"a x #3","16":"a x #3","17":"a x #3","18":"a x #3","19":"a x #3","20":"a x #3","21":"a x #3","22":"a x #3","23":"a x #3","24":"a x #3","25":"a x #3","26":"a x #3","27":"a x #3","28":"a x #3","29":"a x #3","30":"a x #3","31":"a x #3","32":"a x #3","33":"a x #3","34":"a x #3","35":"a x #3","36":"a x #3","37":"a x #3","38":"a x #3","39":"a x #3","40":"a x #3","41":"a x #3","42":"a x #3","43":"a x #3","44":"a x #3","45":"a x #3","46":"a x #3","47":"a x #3","48":"a x #3","49":"a x #3","50":"a x #3","51":"a x #3","52":"a x #3","53":"a x #3","54":"a x #3","55":"a x #3"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1","46":"a x #1","47":"a x #1","48":"a x #1","49":"a x #1","50":"a x #1","51":"a x #1","52":"a x #1","53":"a x #1","54":"a x #1","55":"a x #1","56":"a x #1","57":"a x #1","58":"a x #1","59":"a x #1","60":"a x #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"u","5.1":"a x #1","6":"a x #1","6.1":"a x #1","7":"a x #1","7.1":"a x #1","8":"a x #1","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"a x #1","16":"a x #1","17":"a x #1","18":"a x #1","19":"a x #1","20":"a x #1","21":"a x #1","22":"a x #1","23":"a x #1","24":"a x #1","25":"a x #1","26":"a x #1","27":"a x #1","28":"a x #1","29":"a x #1","30":"a x #1","31":"a x #1","32":"a x #1","33":"a x #1","34":"a x #1","35":"a x #1","36":"a x #1","37":"a x #1","38":"a x #1","39":"a x #1","40":"a x #1","41":"a x #1","42":"a x #1","43":"a x #1","44":"a x #1","45":"a x #1"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a x #1","8":"a x #1","8.1-8.4":"a x #1","9.0-9.2":"y #2","9.3":"y #2","10.0-10.2":"y #2"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a x #1","4.1":"a x #1","4.2-4.3":"a x #1","4.4":"a x #1","4.4.3-4.4.4":"a x #1","53":"a x #1"},"bb":{"7":"u","10":"a x #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"a x #1"},"and_chr":{"56":"a x #1"},"and_ff":{"51":"a x #3"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a x #1"},"samsung":{"4":"a x #1"},"and_qq":{"1.2":"a x #1"}},"notes":"Most browsers support this spelled as a prefixed `:-vendor-any()` pseudo-class.","notes_by_num":{"1":"Only supports the `:-webkit-any()` pseudo-class, which is deprecated due to handling specificity incorrectly.","2":"Also supports the `:-webkit-any()` pseudo-class, which is deprecated due to handling specificity incorrectly.","3":"Only supports the `:-moz-any()` pseudo-class."},"usage_perc_y":11.27,"usage_perc_a":76.72,"ucprefix":false,"parent":"","keywords":":matches,matches,:any,any","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-css-selector-:matches()"},"rel-noopener":{"title":"rel=noopener","description":"Ensure new browsing contexts are opened without a useful `window.opener`","spec":"https://html.spec.whatwg.org/multipage/semantics.html#link-type-noopener","status":"ls","links":[{"url":"https://mathiasbynens.github.io/rel-noopener/","title":"Explainer"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1222516","title":"Gecko/Firefox issue"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=155166","title":"WebKit/Safari issue"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge feature request"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":52.33,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"rel,relation,link,security","ie_id":"","chrome_id":"5651874132787200","firefox_id":"","webkit_id":""},"css-text-justify":{"title":"CSS text-justify","description":"CSS property to define how text should be justified when `text-align: justify` is set.","spec":"https://drafts.csswg.org/css-text-3/#text-justify-property","status":"wd","links":[{"url":"https://crbug.com/248894","title":"Chrome support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=99945","title":"WebKit support bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=276079","title":"Firefox support bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"u","6":"u","7":"u","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #2","44":"n d #2","45":"n d #2","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2","56":"n d #2","57":"n d #2","58":"n d #2","59":"n d #2","60":"n d #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n d #2","31":"n d #2","32":"n d #2","33":"n d #2","34":"n d #2","35":"n d #2","36":"n d #2","37":"n d #2","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n d #2"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #2"},"and_chr":{"56":"n d #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #2"}},"notes":"","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 [MSDN](https://msdn.microsoft.com/en-us/library/ms531172%28v=vs.85%29.aspx) for details.","2":"`inter-word` and `distribute` values supported behind the \"Experimental platform features\" flag but `distribute` support [is buggy](https://crbug.com/467406)"},"usage_perc_y":0,"usage_perc_a":6.58,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-scrollbar":{"title":"CSS scrollbar styling","description":"Non-standard methods of styling scrollbars.","spec":"https://webkit.org/blog/363/styling-scrollbars/","status":"unoff","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=77790","title":"Firefox support bug"},{"url":"http://stackoverflow.com/questions/9251354/css-customized-scroll-bar-in-div…","title":"Stackoverflow article discussiong cross-browser support"},{"url":"http://codemug.com/html/custom-scrollbars-using-css/","title":"Tutorial for IE & WebKit/Blink browsers"},{"url":"https://noraesae.github.io/perfect-scrollbar/","title":"\"perfect-scrollbar\" - Minimal custom scrollbar plugin"},{"url":"http://manos.malihu.gr/jquery-custom-content-scroller/","title":"jQuery custom content scroller"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y x #2","5":"y x #2","6":"y x #2","7":"y x #2","8":"y x #2","9":"y x #2","10":"y x #2","11":"y x #2","12":"y x #2","13":"y x #2","14":"y x #2","15":"y x #2","16":"y x #2","17":"y x #2","18":"y x #2","19":"y x #2","20":"y x #2","21":"y x #2","22":"y x #2","23":"y x #2","24":"y x #2","25":"y x #2","26":"y x #2","27":"y x #2","28":"y x #2","29":"y x #2","30":"y x #2","31":"y x #2","32":"y x #2","33":"y x #2","34":"y x #2","35":"y x #2","36":"y x #2","37":"y x #2","38":"y x #2","39":"y x #2","40":"y x #2","41":"y x #2","42":"y x #2","43":"y x #2","44":"y x #2","45":"y x #2","46":"y x #2","47":"y x #2","48":"y x #2","49":"y x #2","50":"y x #2","51":"y x #2","52":"y x #2","53":"y x #2","54":"y x #2","55":"y x #2","56":"y x #2","57":"y x #2","58":"y x #2","59":"y x #2","60":"y x #2"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y x #2","6":"y x #2","6.1":"y x #2","7":"y x #2","7.1":"y x #2","8":"y x #2","9":"y x #2","9.1":"y x #2","10":"y x #2","10.1":"y x #2","TP":"y x #2"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y x #2","16":"y x #2","17":"y x #2","18":"y x #2","19":"y x #2","20":"y x #2","21":"y x #2","22":"y x #2","23":"y x #2","24":"y x #2","25":"y x #2","26":"y x #2","27":"y x #2","28":"y x #2","29":"y x #2","30":"y x #2","31":"y x #2","32":"y x #2","33":"y x #2","34":"y x #2","35":"y x #2","36":"y x #2","37":"y x #2","38":"y x #2","39":"y x #2","40":"y x #2","41":"y x #2","42":"y x #2","43":"y x #2","44":"y x #2","45":"y x #2"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"y x #2","8":"y x #2","8.1-8.4":"y x #2","9.0-9.2":"y x #2","9.3":"y x #2","10.0-10.2":"y x #2"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y x #2","3":"y x #2","4":"y x #2","4.1":"y x #2","4.2-4.3":"y x #2","4.4":"y x #2","4.4.3-4.4.4":"y x #2","53":"y x #2"},"bb":{"7":"y x #2","10":"y x #2"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y x #2"},"and_chr":{"56":"y x #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y x #2"},"samsung":{"4":"y x #2"},"and_qq":{"1.2":"y x #2"}},"notes":"Currently scrollbar styling doesn't appear to be on any standards track.","notes_by_num":{"1":"Only supports styling [scrollbar colors](https://msdn.microsoft.com/en-us/library/ms531155%28v=vs.85%29.aspx), no other properties to define the scrollbar's appearance.","2":"Supports scrollbar styling via CSS [pseudo-properties](https://webkit.org/blog/363/styling-scrollbars/)."},"usage_perc_y":81.44,"usage_perc_a":4.48,"ucprefix":false,"parent":"","keywords":"scrollbar-button,scrollbar-track,scrollbar-thumb,scrollbar-base-color,scrollbar-face-color","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"link-rel-preload":{"title":"Resource Hints: preload","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.","spec":"https://w3c.github.io/preload/","status":"wd","links":[{"url":"https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/","title":"Preload: What Is It Good For?"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1222633","title":"Firefox support bug"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":50.75,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"preload","chrome_id":"5757468554559488","firefox_id":"","webkit_id":"feature-preload"},"css-case-insensitive":{"title":"Case-insensitive CSS attribute selectors","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\">`.","spec":"https://drafts.csswg.org/selectors-4/#attribute-case","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors#case-i…","title":"Mozilla Developer Network article"},{"url":"http://jsbin.com/zutuna/edit?html,css,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":69.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"i,attribute,case,insensitive,sensitive,sensitivity,insensitivity","ie_id":"","chrome_id":"5610936115134464","firefox_id":"","webkit_id":"feature-case-insensitive-attribute-selectors"},"css-default-pseudo":{"title":":default CSS pseudo-class","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.","spec":"https://drafts.csswg.org/selectors-4/#the-default-pseudo","status":"unoff","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-default","title":"HTML specification for `:default`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:default","title":"Mozilla Developer Network article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"},{"url":"http://jsbin.com/hiyada/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=156230","title":"WebKit bug 156230 - `:default` CSS pseudo-class should match checkboxes+radios with a `checked` attribute"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a #2","12":"a #2","12.1":"a #2","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #2"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"y"},"bb":{"7":"u","10":"a #1"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a #2","37":"a #1"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":57.24,"usage_perc_a":34.12,"ucprefix":false,"parent":"","keywords":":default,default","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-optional-pseudo":{"title":":optional CSS pseudo-class","description":"The `:optional` pseudo-class matches form inputs (`<input>`, `<textarea>`, `<select>`) which are not `:required`.","spec":"https://drafts.csswg.org/selectors-4/#optional-pseudo","status":"unoff","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-optional","title":"HTML specification for `:optional`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:optional","title":"Mozilla Developer Network article"},{"url":"http://jsbin.com/fihudu/edit?html,css,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"a #1"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"Does not match non-required `<select>`s"},"usage_perc_y":94.08,"usage_perc_a":3.44,"ucprefix":false,"parent":"form-validation","keywords":":optional,optional,:required,required","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-indeterminate-pseudo":{"title":":indeterminate CSS pseudo-class","description":"The `:indeterminate` pseudo-class matches indeterminate checkboxes, indeterminate `<progress>` bars, and radio buttons with no checked button in their radio button group.","spec":"https://drafts.csswg.org/selectors-4/#indeterminate","status":"unoff","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-indeterminate","title":"HTML specification for `:indeterminate`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate","title":"Mozilla Developer Network article"},{"url":"https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/712403…","title":"EdgeHTML issue 7124038 - `:indeterminate` pseudo-class doesn't match radio buttons"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=885359","title":"Mozilla Bug 885359 - Radio groups without a selected radio button should have `:indeterminate` applying"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=156270","title":"WebKit Bug 156270 - `:indeterminate` pseudo-class should match radios whose group has no checked radio"},{"url":"http://jsbin.com/zumoqu/edit?html,css,js,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1 #2","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"a #1 #2","5":"a #1 #2","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a #1 #2","6":"u","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a #3","12":"a #3","12.1":"a #3","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #3"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a #1 #2","4.1":"a #1 #2","4.2-4.3":"a #1 #2","4.4":"a #1","4.4.3-4.4.4":"u","53":"y"},"bb":{"7":"u","10":"a #1"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a #3","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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"},"usage_perc_y":70.83,"usage_perc_a":26.12,"ucprefix":false,"parent":"","keywords":":indeterminate,indeterminate","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webgl2":{"title":"WebGL 2.0","description":"Next version of WebGL. Based on OpenGL ES 3.0.","spec":"https://www.khronos.org/registry/webgl/specs/latest/2.0/","status":"other","links":[{"url":"https://blog.mozilla.org/futurereleases/2015/03/03/an-early-look-at-webgl-2/","title":"Firefox blog post"},{"url":"https://www.khronos.org/webgl/wiki/Getting_a_WebGL_Implementation","title":"Getting a WebGL Implementation"}],"categories":["Canvas"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n d #1 #2","26":"n d #1 #2","27":"n d #1 #2","28":"n d #1 #2","29":"n d #1 #2","30":"n d #1 #2","31":"n d #1 #2","32":"n d #1 #2","33":"n d #1 #2","34":"n d #1 #2","35":"n d #1 #2","36":"n d #1 #2","37":"n d #1 #2","38":"n d #1 #2","39":"n d #1 #2","40":"n d #1 #2","41":"n d #1 #2","42":"n d #1 #2","43":"n d #1 #2","44":"n d #1 #2","45":"n d #2","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n d #3","44":"n d #3","45":"n d #3","46":"n d #3","47":"n d #3","48":"n d #3","49":"n d #3","50":"n d #3","51":"n d #3","52":"n d #3","53":"n d #3","54":"n d #3","55":"n d #3","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n d #4","TP":"n d #4"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #3"}},"notes":"","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 via the \"Experimental Features\" developer menu"},"usage_perc_y":22.61,"usage_perc_a":0,"ucprefix":false,"parent":"canvas","keywords":"web gl","ie_id":"webgl20","chrome_id":"6694359164518400","firefox_id":"webgl-2","webkit_id":"specification-webgl-2"},"css-initial-letter":{"title":"CSS Initial Letter","description":"Method of creating an enlarged cap, including a drop or raised cap, in a robust way.","spec":"https://www.w3.org/TR/css-inline/#initial-letter-styling","status":"wd","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1223880","title":"Firefox Implementation Ticket"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/initial-letter","title":"MDN"},{"url":"https://webdesign.tutsplus.com/tutorials/better-css-drop-caps-with-initial-…","title":"Blog post on Envato Tuts+, \"Better CSS Drop Caps With initial-letter\""},{"url":"http://labs.jensimmons.com/#initialletter","title":"Demos at Jen Simmons Labs"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"a","9.1":"a x #1","10":"a x #1","10.1":"a x #1","TP":"a x #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"a x #1","9.3":"a x #1","10.0-10.2":"a x #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Firefox status: [in-development](https://bugzilla.mozilla.org/show_bug.cgi?id=1223880)","notes_by_num":{"1":"Safari implementation is incomplete. Does not allow applying web fonts to the initial letter."},"usage_perc_y":0,"usage_perc_a":11.27,"ucprefix":false,"parent":"","keywords":"initial-letter,initial letter,letter,drop cap,dropcap","ie_id":"initialletter","chrome_id":"","firefox_id":"","webkit_id":""},"document-currentscript":{"title":"document.currentScript","description":"`document.currentScript` returns the `<script>` element whose script is currently being processed.","spec":"https://html.spec.whatwg.org/multipage/dom.html#dom-document-currentscript","status":"ls","links":[{"url":"https://github.com/JamesMGreene/document.currentScript","title":"Polyfill (IE 6-10 only)"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":79.14,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-descendant-gtgt":{"title":"Explicit descendant combinator >>","description":"An explicit, non-whitespace spelling of the descendant combinator. `A >> B` is equivalent to `A B`.","spec":"https://drafts.csswg.org/selectors-4/#descendant-combinators","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_selectors","title":"MDN article"},{"url":"http://jsbin.com/qipekof/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=446050","title":"Chrome issue #446050: Implement Descendant Combinator \">>\""},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1266283","title":"Mozilla bug #1266283 - Implement CSS4 descendant combinator `>>`"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"u","59":"u","60":"u"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":1.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"same-site-cookie-attribute":{"title":"'SameSite' cookie attribute","description":"Same-site cookies (n\u00e9e \"First-Party-Only\" (n\u00e9e \"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.","spec":"https://tools.ietf.org/html/draft-west-first-party-cookies-06","status":"other","links":[{"url":"http://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-coo…","title":"Preventing CSRF with the same-site cookie attribute"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=795346","title":"Mozilla Bug #795346: Add SameSite support for cookies"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"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":{},"usage_perc_y":50.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"security,cookies,cookie,csrf","ie_id":"","chrome_id":"4672634709082112","firefox_id":"","webkit_id":""},"css-has":{"title":":has() CSS relational pseudo-class","description":"Only select elements containing specified content. For example, `a:has(>img)` selects all `<a>` elements that contain an `<img>` child.","spec":"https://drafts.csswg.org/selectors-4/#relational","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:has","title":":has() on MDN"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=418039","title":"Firefox support bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"children,parent,selector","ie_id":"cssrelationalpseudoclasshas","chrome_id":"","firefox_id":"","webkit_id":""},"css-not-sel-list":{"title":"selector list argument of :not()","description":"Selectors Level 4 allows the `:not()` pseudo-class to accept a list of selectors, which the element must not match any of. Selectors Level 3 only allowed `:not()` to accept a single simple selector. Thus, `:not(a):not(.b):not([c])` can instead be written as `:not(a, .b, [c])`","spec":"https://www.w3.org/TR/selectors4/#negation","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:not","title":"MDN article"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=580628","title":"Chrome feature request issue"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=933562","title":"Firefox feature request bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"u","59":"u","60":"u"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":11.27,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"negation,not,pseudo,selector,selectors,list,multiple,argument,level,4","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":"feature-css-selector-:not()-level-4"},"credential-management":{"title":"Credential Management API","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.","spec":"https://www.w3.org/TR/credential-management-1/","status":"wd","links":[{"url":"https://developers.google.com/web/updates/2016/04/credential-management-api","title":"Tutorial by Google"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API","title":"Mozilla Developer Network"},{"url":"https://g.co/codelabs/cmapi","title":"Codelab"},{"url":"https://credential-management-sample.appspot.com/","title":"Live Demo"},{"url":"https://github.com/GoogleChrome/credential-management-sample","title":"Sample Code"},{"url":"https://github.com/w3c/webappsec-credential-management","title":"Spec discussion"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n d","49":"n d","50":"n d","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1","56":"y #1","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","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."},"usage_perc_y":50.08,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"credential,navigator.credentials","ie_id":"","chrome_id":"5026422640869376","firefox_id":"","webkit_id":""},"css-dir-pseudo":{"title":":dir() CSS pseudo-class","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.","spec":"https://www.w3.org/TR/selectors4/#the-dir-pseudo","status":"wd","links":[{"url":"https://html.spec.whatwg.org/multipage/scripting.html#selector-ltr","title":"HTML specification for `:dir()`"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:dir","title":"Mozilla Developer Network article"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=576815","title":"Chrome issue #576815: CSS4 pseudo-class :dir()"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=64861","title":"WebKit bug #64861: Need support for :dir() pseudo-class"},{"url":"http://jsbin.com/celuye/edit?html,css,output","title":"JS Bin testcase"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","24":"y x","25":"y x","26":"y x","27":"y x","28":"y x","29":"y x","30":"y x","31":"y x","32":"y x","33":"y x","34":"y x","35":"y x","36":"y x","37":"y x","38":"y x","39":"y x","40":"y x","41":"y x","42":"y x","43":"y x","44":"y x","45":"y x","46":"y x","47":"y x","48":"y x","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":6.55,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":":dir,dir,direction,ltr,rtl,left,right","ie_id":"","chrome_id":"5751531651465216","firefox_id":"","webkit_id":""},"css-focus-within":{"title":":focus-within CSS pseudo-class","description":"The `:focus-within` pseudo-class matches elements that either themselves match `:focus` or that have descendants which match `:focus`.","spec":"https://drafts.csswg.org/selectors-4/#the-focus-within-pseudo","status":"unoff","links":[{"url":"https://www.sitepoint.com/future-generation-css-selectors-level-4/#generali…","title":"The Future Generation of CSS Selectors: Level 4: Generalized Input Focus Pseudo-class"},{"url":"http://allyjs.io/api/style/focus-within.html","title":"ally.style.focusWithin Polyfill, part of ally.js"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=140144","title":"WebKit bug #140144: Add support for CSS4 `:focus-within` pseudo"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=617371","title":"Chromium issue #617371: Implement `:focus-within` pseudo-class from Selectors Level 4"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1176997","title":"Mozilla bug #1176997: Add support for pseudo class `:focus-within`"},{"url":"http://jsbin.com/qevoqa/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within","title":"Mozilla Developer Network article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0.18,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"focus,within,focus-within,pseudo","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"dom-manip-convenience":{"title":"DOM manipulation convenience methods","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`.","spec":"https://dom.spec.whatwg.org/#interface-childnode","status":"ls","links":[{"url":"https://dom.spec.whatwg.org/#interface-childnode","title":"WHATWG DOM Specification for ChildNode"},{"url":"https://dom.spec.whatwg.org/#interface-parentnode","title":"WHATWG DOM Specification for ParentNode"},{"url":"http://jsbin.com/fiqacod/edit?html,js,output","title":"JS Bin testcase"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ParentNode","title":"ParentNode article on Mozilla Developer Network"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ChildNode","title":"ChildNode article on Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #1","53":"n d #1","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n d #1","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Enabled through the \"Enable Experimental Web Platform Features\" flag in chrome://flags"},"usage_perc_y":64.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"dom,manipulation,convenience,convenient,before,after,replaceWith,prepend,append","ie_id":"","chrome_id":"5723067795898368","firefox_id":"","webkit_id":""},"requestidlecallback":{"title":"requestIdleCallback","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`.","spec":"https://w3c.github.io/requestidlecallback/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback","title":"MDN documentation"},{"url":"https://developers.google.com/web/updates/2015/08/using-requestidlecallback","title":"Google Developers article"},{"url":"https://gist.github.com/paullewis/55efe5d6f05434a96c36","title":"Shim"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":52.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"requestIdleCallback,request,idle","ie_id":"requestidlecallback","chrome_id":"5572795866021888","firefox_id":"request-idle-callback","webkit_id":""},"scrollintoviewifneeded":{"title":"Element.scrollIntoViewIfNeeded()","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.","spec":"https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNe…","status":"unoff","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=403510","title":"Mozilla Bug 403510 - Implement scrollIntoViewIfNeeded"},{"url":"https://www.w3.org/Bugs/Public/show_bug.cgi?id=17152","title":"W3C CSSOM View bug #17152: Support centering an element when scrolling into view."}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":81.43,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"scrollIntoViewIfNeeded,scroll","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css3-attr":{"title":"CSS3 attr() function","description":"CSS Values and Units Level 3 adds the ability to use `attr()` on any CSS property, not just `content`, and to use it for non-string values (e.g. numbers, colors).","spec":"https://www.w3.org/TR/css-values/#attr-notation","status":"cr","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/attr","title":"Mozilla Developer Network article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=435426","title":"Mozilla Bug #435426: implement css3-values extensions to `attr()`"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=246571","title":"Chromium issue #246571: Implement CSS3 attribute / attr references"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=26609","title":"WebKit Bug #26609: Support CSS3 attr() function"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"attr,attribute,function","ie_id":"csslevel3attrfunction","chrome_id":"","firefox_id":"","webkit_id":""},"sdch":{"title":"SDCH Accept-Encoding/Content-Encoding","description":"Shared Dictionary Compression over HTTP","spec":"https://docs.google.com/viewer?a=v&pid=forums&srcid=MDIwOTgxNDMwMTgyMjkzMTI…","status":"other","links":[{"url":"https://groups.google.com/forum/#!forum/sdch","title":"SDCH Google Group"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=641069","title":"Bugzilla Bug 641069 - Implement SDCH"},{"url":"https://en.wikipedia.org/wiki/SDCH","title":"Wikipedia - SDCH"},{"url":"https://engineering.linkedin.com/shared-dictionary-compression-http-linkedin","title":"Shared Dictionary Compression for HTTP at LinkedIn."}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":54.13,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"http,compression,accept,content,encoding,sdch","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-containment":{"title":"CSS Containment","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.","spec":"https://drafts.csswg.org/css-containment/#style-containment","status":"unoff","links":[{"url":"https://developers.google.com/web/updates/2016/06/css-containment","title":"Google Developers article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1150081","title":"Firefox bug"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"u","53":"u","54":"u","55":"u"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n d #1","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n d #1","39":"n d #1","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled via the \"Experimental Web Platform features\" flag"},"usage_perc_y":50.21,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"csscontainment","chrome_id":"6522186978295808","firefox_id":"","webkit_id":""},"tls1-2":{"title":"TLS 1.2","description":"The latest version 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.","spec":"https://tools.ietf.org/html/rfc5246","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.2","title":"Wikipedia article on TLS"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n d","9":"n d","10":"n d","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n d","25":"n d","26":"n d","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n d","10.5":"n d","10.6":"n d","11":"n d","11.1":"n d","11.5":"n d","11.6":"n d","12":"n d","12.1":"y","15":"n","16":"n","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n d","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.05,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"tls12","chrome_id":"5197666342404096","firefox_id":"","webkit_id":""},"tls1-1":{"title":"TLS 1.1","description":"Version 1.1 of the Transport Layer Security (TLS) protocol.","spec":"https://tools.ietf.org/html/rfc4346","status":"other","links":[{"url":"https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.1","title":"Wikipedia article on TLS"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n d","9":"n d","10":"n d","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n d","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n d","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":94.3,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"input-inputmode":{"title":"inputmode attribute","description":"The `inputmode` attribute specifies what kind of input mechanism would be most helpful for users entering content into the form control.","spec":"https://html.spec.whatwg.org/multipage/forms.html#input-modalities:-the-inp…","status":"ls","links":[{"url":"http://www.wufoo.com/html5/attributes/23-inputmode.html","title":"Demo on Wufoo (old)"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"a","18":"a","19":"a","20":"a","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"Firefox OS is reported to have partial support for this property as `x-inputmode`.\r\n\r\nBlink-based browsers appear to recognize the `inputMode` property on `input` & `textarea` fields though it is unclear what effect it currently has as the feature is still in development.","notes_by_num":{"1":"Support can be enabled via the `dom.forms.inputmode` flag"},"usage_perc_y":0,"usage_perc_a":0.03,"ucprefix":false,"parent":"","keywords":"","ie_id":"inputmode","chrome_id":"6225984592281600","firefox_id":"","webkit_id":""},"ch-unit":{"title":"ch (character) unit","description":"Unit representing the width of the character \"0\" in the current font, of particular use in combination with monospace fonts.","spec":"https://www.w3.org/TR/css3-values/#ch","status":"cr","links":[{"url":"https://johndjameson.com/blog/making-sense-of-ch-units/","title":"Blog post on using ch units"},{"url":"http://revoltpuppy.com/articles/89/using-ch-an-underappreciated-css-length","title":"Various uses for the ch unit"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":79.98,"usage_perc_a":4.05,"ucprefix":false,"parent":"","keywords":"ch unit,character unit","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"img-naturalwidth-naturalheight":{"title":"naturalWidth & naturalHeight image properties","description":"Properties defining the intrinsic width and height of the image, rather than the displayed width & height.","spec":"https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-natura…","status":"ls","links":[{"url":"http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/","title":"Blog post on support in IE"},{"url":"https://gist.github.com/jalbertbowden/5273983","title":"gist on getting natural width & height in older IE"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.94,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"filereadersync":{"title":"FileReaderSync","description":"Allows files to be read synchronously in Web Workers","spec":"https://w3c.github.io/FileAPI/#FileReaderSync","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/FileReaderSync","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":93.3,"usage_perc_a":0,"ucprefix":false,"parent":"filereader","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mediarecorder":{"title":"MediaRecorder API","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.","spec":"https://w3c.github.io/mediacapture-record/MediaRecorder.html","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder_API","title":"MDN article"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n d #1","48":"n d #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n d #1","35":"n d #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Can be enabled via the experimental Web Platform features flag. Does not support audio recording, only video."},"usage_perc_y":58.5,"usage_perc_a":0,"ucprefix":false,"parent":"stream","keywords":"","ie_id":"mediarecorder","chrome_id":"5929649028726784","firefox_id":"media-recorder","webkit_id":""},"readonly-attr":{"title":"readonly attribute of input and textarea elements","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.","spec":"https://html.spec.whatwg.org/multipage/forms.html#attr-input-readonly","status":"ls","links":[{"url":"https://html.spec.whatwg.org/multipage/forms.html#attr-textarea-readonly","title":"WHATWG HTML specification for the readonly attribute of the `<textarea>` element"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-readon…","title":"Mozilla Developer Network article"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"u","16":"u","17":"u","18":"u","19":"u","20":"u","21":"u","22":"u","23":"u","24":"u","25":"u","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y #2","11":"y #2"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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. "},"usage_perc_y":97.78,"usage_perc_a":0.14,"ucprefix":false,"parent":"","keywords":"readonly,read,attribute,edit,editable","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"x-frame-options":{"title":"X-Frame-Options HTTP header","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.","spec":"https://tools.ietf.org/html/rfc7034","status":"other","links":[{"url":"http://erlend.oftedal.no/blog/tools/xframeoptions/","title":"X-Frame-Options Compatibility Test"},{"url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options","title":"Mozilla Developer Network article"},{"url":"https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet","title":"OWASP Clickjacking Defense Cheat Sheet"},{"url":"https://blogs.msdn.microsoft.com/ieinternals/2010/03/30/combating-clickjack…","title":"Combating ClickJacking With X-Frame-Options - IEInternals"},{"url":"https://blogs.msdn.microsoft.com/ie/2009/01/27/ie8-security-part-vii-clickj…","title":"IE8 Security Part VII: ClickJacking Defenses - IEBlog"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a","10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"u","16":"u","17":"u","18":"u","19":"u","20":"u","21":"u","22":"u","23":"u","24":"u","25":"u","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a","46":"a","47":"a","48":"a","49":"a","50":"a","51":"a","52":"a","53":"a","54":"a","55":"a","56":"a","57":"a","58":"a","59":"a","60":"a"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a","6":"a","6.1":"a","7":"a","7.1":"a","8":"a","9":"a","9.1":"a","10":"a","10.1":"a","TP":"a"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"a","12":"a","12.1":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","24":"a","25":"a","26":"a","27":"a","28":"a","29":"a","30":"a","31":"a","32":"a","33":"a","34":"a","35":"a","36":"a","37":"a","38":"a","39":"a","40":"a","41":"a","42":"a","43":"a","44":"a","45":"a"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"u","5.0-5.1":"u","6.0-6.1":"u","7.0-7.1":"a","8":"a","8.1-8.4":"a","9.0-9.2":"a","9.3":"a","10.0-10.2":"a"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"a","4.1":"a","4.2-4.3":"a","4.4":"a","4.4.3-4.4.4":"a","53":"a"},"bb":{"7":"a","10":"a"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a","37":"a"},"and_chr":{"56":"a"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a"},"samsung":{"4":"a"},"and_qq":{"1.2":"a"}},"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":{},"usage_perc_y":13.12,"usage_perc_a":81.39,"ucprefix":false,"parent":"","keywords":"x-frame-options,frame,options,header,clickjacking","ie_id":"","chrome_id":"5760041927835648","firefox_id":"","webkit_id":""},"indeterminate-checkbox":{"title":"indeterminate checkbox","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.","spec":"https://html.spec.whatwg.org/#dom-input-indeterminate","status":"ls","links":[{"url":"https://css-tricks.com/indeterminate-checkboxes/","title":"CSS-Tricks article"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=160484","title":"WebKit Bug 160484 - iOS doesn't support indeterminate checkboxes"}],"categories":["DOM","HTML5"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"u","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"Indeterminacy does not affect a checkbox's checkedness state. It merely affects how the checkbox is displayed.","notes_by_num":{},"usage_perc_y":74.76,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"tabindex-attr":{"title":"tabindex global attribute","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.","spec":"https://html.spec.whatwg.org/multipage/interaction.html#attr-tabindex","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex","title":"Mozilla Developer Network article"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"u","6":"u","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y #1","5":"y #1","6":"y #1","7":"y #1","8":"y #1","9":"y #1","10":"y #1","11":"y #1","12":"y #1","13":"y #1","14":"y #1","15":"y #1","16":"y #1","17":"y #1","18":"y #1","19":"y #1","20":"y #1","21":"y #1","22":"y #1","23":"y #1","24":"y #1","25":"y #1","26":"y #1","27":"y #1","28":"y #1","29":"y #1","30":"y #1","31":"y #1","32":"y #1","33":"y #1","34":"y #1","35":"y #1","36":"y #1","37":"y #1","38":"y #1","39":"y #1","40":"y #1","41":"y #1","42":"y #1","43":"y #1","44":"y #1","45":"y #1","46":"y #1","47":"y #1","48":"y #1","49":"y #1","50":"y #1","51":"y #1","52":"y #1","53":"y #1","54":"y #1","55":"y #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y #2","6":"y #2","6.1":"y #2","7":"y #2","7.1":"y #2","8":"y #2","9":"y #2","9.1":"y #2","10":"y #2","10.1":"y #2","TP":"y #2"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y #2 #3","4.0-4.1":"y #2 #3","4.2-4.3":"y #2 #3","5.0-5.1":"y #2 #3","6.0-6.1":"y #2 #3","7.0-7.1":"y #2 #3","8":"y #2 #3","8.1-8.4":"y #2 #3","9.0-9.2":"y #2 #3","9.3":"y #2 #3","10.0-10.2":"y #2 #3"},"op_mini":{"all":"u"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"u"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"u","37":"u"},"and_chr":{"56":"u"},"and_ff":{"51":"u"},"ie_mob":{"10":"u","11":"u"},"and_uc":{"11":"u"},"samsung":{"4":"u"},"and_qq":{"1.2":"n"}},"notes":"Mac OS X \"Full Keyboard Access\" refers to setting Keyboard\u2192Shortcuts\u2192Full 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."},"usage_perc_y":53.45,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"tabindex,tab,tabIndex","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"textencoder":{"title":"TextEncoder & TextDecoder","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.","spec":"https://encoding.spec.whatwg.org/#api","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder","title":"Mozilla Developer Network article"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Microsoft Edge feature request on UserVoice"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=160653","title":"WebKit Bug 160653 - Support TextEncoder & TextDecoder APIs"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"a #1","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Not available in Web Workers in Firefox 19."},"usage_perc_y":63.4,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"encoding,text,encoder,decoding,decoder,utf,8","ie_id":"encodingstandard","chrome_id":"5714368087982080","firefox_id":"","webkit_id":""},"element-from-point":{"title":"document.elementFromPoint()","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).","spec":"https://www.w3.org/TR/cssom-view-1/#dom-document-elementfrompoint","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint","title":"Mozilla Developer Network article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":98.21,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"document,elementFromPoint,element,from,point","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"insert-adjacent":{"title":"Element.insertAdjacentElement() & Element.insertAdjacentText()","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.","spec":"https://dom.spec.whatwg.org/#dom-element-insertadjacentelement","status":"ls","links":[{"url":"https://dom.spec.whatwg.org/#dom-element-insertadjacenttext","title":"WHATWG DOM Specification for Element.insertAdjacentText()"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElem…","title":"Mozilla Developer Network article on Element.insertAdjacentElement()"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentText","title":"Mozilla Developer Network article on Element.insertAdjacentText()"},{"url":"http://jsbin.com/yanadu/edit?html,js,output","title":"JS Bin testcase"}],"categories":["DOM"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.16,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"insertAdjacentElement,insertAdjacentText,insert,adjacent,element,text","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"once-event-listener":{"title":"\"once\" event listener option","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.","spec":"https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-once","status":"ls","links":[{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=615384","title":"Chromium Issue 615384: Support \"once\" event listener option"},{"url":"http://jsbin.com/zigiru/edit?html,js,output","title":"JS Bin testcase"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"MS Edge feature request on UserVoice"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":62.9,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"event,listener,options,once","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"passive-event-listener":{"title":"Passive event listeners","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.","spec":"https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-passive","status":"ls","links":[{"url":"https://developers.google.com/web/updates/2016/06/passive-event-listeners?h…","title":"Improving scroll performance with passive event listeners - Google Developers Updates"},{"url":"https://github.com/WICG/EventListenerOptions/blob/gh-pages/EventListenerOpt…","title":"Polyfill from the WICG"},{"url":"https://github.com/WICG/EventListenerOptions","title":"Original WICG EventListenerOptions repository"},{"url":"http://jsbin.com/jaqaku/edit?html,js,output","title":"JS Bin testcase"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":74.88,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"passive,event,listener,options","ie_id":"","chrome_id":"5745543795965952","firefox_id":"passive-event-listeners","webkit_id":""},"selection-api":{"title":"Selection API","description":"API for accessing selected content of a document, including the `window.getSelection()` method, as well as the `selectstart` & `selectionchange` events on `document`.","spec":"https://www.w3.org/TR/selection-api/","status":"wd","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1231923","title":"Firefox support bug"}],"categories":["JS API"],"stats":{"ie":{"5.5":"u","6":"a #2","7":"a #2","8":"a #2","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1 #5","44":"a #1 #5","45":"a #1 #5","46":"a #1 #5","47":"a #1 #5","48":"a #1 #5","49":"a #1 #5","50":"a #1 #5","51":"a #1 #5","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"u","5.0-5.1":"a #3","6.0-6.1":"a #3","7.0-7.1":"a #3","8":"a #3","8.1-8.4":"a #3","9.0-9.2":"a #3","9.3":"a #3","10.0-10.2":"a #3"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"y #4","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"u","10":"y"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"a #1","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"u","11":"y"},"and_uc":{"11":"y #4"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"See also support for the related [DOM range](http://caniuse.com/#feat=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"},"usage_perc_y":77.65,"usage_perc_a":16.95,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"payment-request":{"title":"Payment Request API","description":"Payment Request is a new API for the open web that makes checkout flows easier, faster and consistent on shopping sites.","spec":"https://www.w3.org/TR/payment-request/","status":"wd","links":[{"url":"https://github.com/w3c/browser-payment-api/","title":"Spec discussion"},{"url":"https://developers.google.com/web/updates/2016/07/payment-request","title":"Bringing easy and fast checkout with Payment Request API"},{"url":"https://developers.google.com/web/fundamentals/primers/payment-request/","title":"Payment Request API Integration Guide"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API","title":"Mozilla Developer Network"},{"url":"https://emerald-eon.appspot.com/","title":"Demo"},{"url":"https://googlechrome.github.io/samples/paymentrequest/","title":"Simpler Demos and Codes"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n d #2","15":"a #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1","60":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"Apple provides an equivalent proprietary API called [Apple Pay JS](https://developer.apple.com/reference/applepayjs/)","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":"Preliminary implementation"},"usage_perc_y":25.64,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"PaymentRequest,Web Payments","ie_id":"paymentrequestapi","chrome_id":"5639348045217792","firefox_id":"","webkit_id":""},"shadowdomv1":{"title":"Shadow DOM v1","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.","spec":"https://www.w3.org/TR/shadow-dom/","status":"wd","links":[{"url":"https://bugs.webkit.org/show_bug.cgi?id=148695","title":"Safari implementation bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1205323","title":"Firefox implementation bug"},{"url":"https://developers.google.com/web/fundamentals/primers/shadowdom/?hl=en","title":"Google Developers - Shadow DOM v1: self-contained web components"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"y"}},"notes":"Shadow DOM v0 was implemented in Chrome/Opera but other browser vendors are implementing v1.","notes_by_num":{"1":"Certain CSS selectors do not work (`:host > .local-child`) and styling slotted content (`::slotted`) is buggy."},"usage_perc_y":50.06,"usage_perc_a":9.77,"ucprefix":false,"parent":"","keywords":"web components,shadow dom","ie_id":"shadowdom","chrome_id":"4667415417847808","firefox_id":"shadow-dom","webkit_id":"feature-shadow-dom"},"urlsearchparams":{"title":"URLSearchParams","description":"The URLSearchParams interface defines utility methods to work with the query string of a URL.","spec":"https://url.spec.whatwg.org/#urlsearchparams","status":"ls","links":[{"url":"https://developers.google.com/web/updates/2016/01/urlsearchparams?hl=en","title":"Easy URL manipulation with URLSearchParams"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams","title":"MDN reference"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Partial support refers to only supporting `entries()`, `keys()`, `values()`, and `for...of`."},"usage_perc_y":58.18,"usage_perc_a":0.38,"ucprefix":false,"parent":"","keywords":"url,search,params","ie_id":"","chrome_id":"5632984866619392","firefox_id":"","webkit_id":""},"css-font-rendering-controls":{"title":"CSS font-rendering controls","description":"`@font-face` descriptor (currently defined as `font-display`) that allows control over how a downloadable font renders before it is fully loaded.","spec":"https://tabatkins.github.io/specs/css-font-display/","status":"unoff","links":[{"url":"https://developers.google.com/web/updates/2016/02/font-display","title":"Google Developers article"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display","title":"MDN article"},{"url":"https://css-tricks.com/font-display-masses/","title":"CSS tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n d #2","47":"n d #2","48":"n d #2","49":"n d #2","50":"n d #2","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1","60":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"","notes_by_num":{"1":"Can be enabled via the \"Experimental Web Platform features\" flag","2":"Can be enabled in Firefox through the `layout.css.font-display.enabled` flag at about:config"},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"4799947908055040","firefox_id":"css-font-display","webkit_id":""},"wasm":{"title":"WebAssembly","description":"WebAssembly or \"wasm\" is a new portable, size- and load-time-efficient format suitable for compilation to the web.","spec":"https://github.com/WebAssembly/spec","status":"other","links":[{"url":"https://webassembly.github.io/","title":"Official site"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n d #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"y #4","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n d #2","52":"n d #2","53":"n d #2","54":"n d #2","55":"n d #2","56":"n d #2","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n d #2","39":"n d #2","40":"n d #2","41":"n d #2","42":"n d #2","43":"n d #2","44":"n d #2","45":"n d #2"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n d #2"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #2"}},"notes":"","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"},"usage_perc_y":0.31,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"web assembly","ie_id":"webassemblymvp","chrome_id":"5453022515691520","firefox_id":"web-assembly","webkit_id":"specification-webassembly"},"css-paged-media":{"title":"CSS Paged Media (@page)","description":"CSS at-rule (`@page`) to define page-specific rules when printing web pages, such as margin per page and page dimensions.","spec":"https://drafts.csswg.org/css-page-3/","status":"wd","links":[{"url":"http://www.htmluse.com/css-paged-media-page-rule/","title":"CSS Paged media article"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/@page","title":"MDN article"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=85062","title":"WebKit support bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=286443","title":"Firefox support bug"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge support request"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"u"},"android":{"2.1":"u","2.2":"u","2.3":"u","3":"u","4":"u","4.1":"u","4.2-4.3":"u","4.4":"u","4.4.3-4.4.4":"u","53":"u"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"u","12.1":"u","37":"n #2"},"and_chr":{"56":"y"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"n #2","11":"n #2"},"and_uc":{"11":"n #2"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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"},"usage_perc_y":57.63,"usage_perc_a":12.79,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"childnode-remove":{"title":"ChildNode.remove()","description":"DOM node method to remove the node itself from the document.","spec":"https://dom.spec.whatwg.org/#dom-childnode-remove","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove","title":"Mozilla Developer Network"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"u","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":88.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ChildNode,remove,delete,node,DOM","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-first-line":{"title":"CSS first-line pseudo-element","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.","spec":"https://drafts.csswg.org/selectors-3/#first-line","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line","title":"MDN article"},{"url":"https://css-tricks.com/almanac/selectors/f/first-line/","title":"CSS tricks article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"y","9.5-9.6":"y","10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"y","10":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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`)."},"usage_perc_y":97.94,"usage_perc_a":0.43,"ucprefix":false,"parent":"css-sel3","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"mutation-events":{"title":"Mutation events","description":"Deprecated mechanism for listening to changes made to the DOM, replaced by Mutation Observers.","spec":"https://www.w3.org/TR/DOM-Level-3-Events/#legacy-mutationevent-events","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events","title":"MDN article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #2","10":"a #2","11":"a #2"},"edge":{"12":"a #2","13":"a #2","14":"a #2","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a #2","7":"a #2","8":"a #2","9":"a #2","10":"a #2","11":"a #2","12":"a #2","13":"a #2","14":"a #2","15":"a #2","16":"a #2","17":"a #2","18":"a #2","19":"a #2","20":"a #2","21":"a #2","22":"a #2","23":"a #2","24":"a #2","25":"a #2","26":"a #2","27":"a #2","28":"a #2","29":"a #2","30":"a #2","31":"a #2","32":"a #2","33":"a #2","34":"a #2","35":"a #2","36":"a #2","37":"a #2","38":"a #2","39":"a #2","40":"a #2","41":"a #2","42":"a #2","43":"a #2","44":"a #2","45":"a #2","46":"a #2","47":"a #2","48":"a #2","49":"a #2","50":"a #2","51":"a #2","52":"a #2","53":"a #2","54":"a #2","55":"a #2"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1","56":"a #1","57":"a #1","58":"a #1","59":"a #1","60":"a #1"},"safari":{"3.1":"u","3.2":"u","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1"},"ios_saf":{"3.2":"u","4.0-4.1":"u","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"n"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"n","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"a #1"},"and_chr":{"56":"a #1"},"and_ff":{"51":"a #2"},"ie_mob":{"10":"a #2","11":"a #2"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1"}},"notes":"See also support for [Mutation Observer](http://caniuse.com/#feat=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`"},"usage_perc_y":0.08,"usage_perc_a":94.32,"ucprefix":false,"parent":"","keywords":"DOMAttrModified,DOMCharacterDataModified,DOMNodeInserted,DOMNodeInsertedIntoDocument,DOMNodeRemoved,DOMNodeRemovedFromDocument,DOMSubtreeModified","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"web-app-manifest":{"title":"Web App Manifest","description":"The web app manifest provides information about an application (such as name, author, icon, and description) in a JSON file, which browsers can use to give richer offline experiences.","spec":"https://www.w3.org/TR/appmanifest/","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Manifest","title":"Mozilla Developer Network article"},{"url":"https://webmanife.st","title":"Tool to generate a manifest from any given URL"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":56.83,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"manifest,pwa","ie_id":"webapplicationmanifest","chrome_id":"6488656873259008","firefox_id":"app-manifest","webkit_id":""},"comparedocumentposition":{"title":"Node.compareDocumentPosition()","description":"Compares the relative position of two nodes to each other in the DOM tree.","spec":"https://dom.spec.whatwg.org/#dom-node-comparedocumentposition","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPositi…","title":"Mozilla Developer Network article"}],"categories":["DOM"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"u","3":"u","3.5":"u","3.6":"u","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"u","3.2":"u","4":"u","5":"u","5.1":"a #2","6":"u","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"y","10.1":"y","TP":"y"},"opera":{"9":"u","9.5-9.6":"u","10.0-10.1":"u","10.5":"u","10.6":"u","11":"u","11.1":"u","11.5":"u","11.6":"y","12":"y","12.1":"y","15":"a #1","16":"a #1","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"u","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"u","2.2":"u","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"u","11":"u","11.1":"u","11.5":"u","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"a #1"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","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."},"usage_perc_y":85.08,"usage_perc_a":12.58,"ucprefix":false,"parent":"","keywords":"Node,compareDocumentPosition,compare,document,position,preceding,following,disconnected,before,after,contains,contained,DOM","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"http-live-streaming":{"title":"HTTP Live Streaming (HLS)","description":"HTTP-based media streaming communications protocol","spec":"https://tools.ietf.org/html/draft-pantos-http-live-streaming-19","status":"unoff","links":[{"url":"https://en.wikipedia.org/wiki/HTTP_Live_Streaming","title":"Wikipedia article"},{"url":"https://developer.apple.com/streaming/","title":"Apple developer article"}],"categories":["Other"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"HLS is being replaced by Dynamic Adaptive Streaming over HTTP (aka MPEG-DASH)","notes_by_num":{},"usage_perc_y":54.59,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"apple http live streaming,m3u8","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"es6-module":{"title":"ES6 module","description":"Import/export modules in JavaScript in ES6","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-exports","status":"ls","links":[{"url":"https://strongloop.com/strongblog/an-introduction-to-javascript-es6-modules/","title":"Intro to ES6 modules"},{"url":"https://blogs.windows.com/msedgedev/2016/05/17/es6-modules-and-beyond/","title":"MS Edge blog post on ES6 modules support"},{"url":"https://hacks.mozilla.org/2015/08/es6-in-depth-modules/","title":"Mozilla hacks article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=568953","title":"Firefox support bug"},{"url":"https://blog.hospodarets.com/native-ecmascript-modules-the-first-overview","title":"Blog post: Native ECMAScript modules - the first overview"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n d #1"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n d #2","55":"n d #2"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Support can be enabled via `about:flags`","2":"Support can be enabled via `about:config`"},"usage_perc_y":0.01,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"es6,module,import,export","ie_id":"moduleses6","chrome_id":"5365692190687232","firefox_id":"","webkit_id":"feature-modules"},"es6-class":{"title":"ES6 classes","description":"ES6 classes are syntactical sugar to provide a much simpler and clearer syntax to create objects and deal with inheritance.","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-class-definitions","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes","title":"MDN article on ES6 classes"},{"url":"https://www.sitepoint.com/object-oriented-javascript-deep-dive-es6-classes/","title":"Sitepoint deep dive on ES6 classes"},{"url":"https://github.com/joshburgess/not-awesome-es6-classes","title":"List of resources critical of ES6 classes"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Requires strict mode. Non-strict mode support is behind the flag 'Enable Experimental JavaScript', disabled by default."},"usage_perc_y":71.09,"usage_perc_a":0.98,"ucprefix":false,"parent":"","keywords":"ES6,JavaScript,class","ie_id":"classeses6","chrome_id":"4633745457938432","firefox_id":"","webkit_id":""},"ping":{"title":"Ping attribute","description":"When used on an anchor, this attribute signifies that the browser should a ping request the resource the attribute points to.","spec":"https://html.spec.whatwg.org/multipage/semantics.html#ping","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-ping","title":"Ping attribute on Mozilla Developer Network"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"UserVoice request for ping attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n d #1","3.5":"n d #1","3.6":"n d #1","4":"n d #1","5":"n d #1","6":"n d #1","7":"n d #1","8":"n d #1","9":"n d #1","10":"n d #1","11":"n d #1","12":"n d #1","13":"n d #1","14":"n d #1","15":"n d #1","16":"n d #1","17":"n d #1","18":"n d #1","19":"n d #1","20":"n d #1","21":"n d #1","22":"n d #1","23":"n d #1","24":"n d #1","25":"n d #1","26":"n d #1","27":"n d #1","28":"n d #1","29":"n d #1","30":"n d #1","31":"n d #1","32":"n d #1","33":"n d #1","34":"n d #1","35":"n d #1","36":"n d #1","37":"n d #1","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1","46":"n d #1","47":"n d #1","48":"n d #1","49":"n d #1","50":"n d #1","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n d #1"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":71.4,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ping,a.ping,a[ping],ping attribute","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"form-submit-attributes":{"title":"Attributes for form submission","description":"Attributes for form submission that may be specified on submit buttons. The attributes are: `formaction`, `formenctype`, `formmethod`, `formnovalidate`, and `formtarget`","spec":"https://html.spec.whatwg.org/multipage/forms.html#attributes-for-form-submi…","status":"ls","links":[{"url":"http://html5doctor.com/html5-forms-introduction-and-new-attributes/#formact…","title":"Article describing each attribute"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"u","5":"u","6":"u","7":"u","8":"u","9":"u","10":"u","11":"u","12":"u","13":"u","14":"u","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y","6.1":"y","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"u","10.5":"u","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"u","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"y"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{},"usage_perc_y":97.41,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"async-functions":{"title":"Async functions","description":"Async function make it possible treat functions returning Promise objects as if they were synchronous.","spec":"https://tc39.github.io/ecmascript-asyncawait/","status":"other","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statement…","title":"Async Functions (MDN)"},{"url":"https://developers.google.com/web/fundamentals/getting-started/primers/asyn…","title":"Async functions - making promises friendly"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n d #1","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Since build 14342 - disabled by default; can be enabled through about:flags","2":"Async functions are present in Firefox Nightly since 31th October 2016."},"usage_perc_y":49.69,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"ES2017,JavaScript,function,async,await,promises,asynchronous","ie_id":"asyncfunctions","chrome_id":"5643236399906816","firefox_id":"async-function","webkit_id":""},"html-media-capture":{"title":"HTML Media Capture","description":"Facilitates user access to a device's media capture mechanism, such as a camera, or microphone, from within a file upload control.","spec":"https://w3c.github.io/html-media-capture/","status":"cr","links":[{"url":"https://addpipe.com/blog/correct-syntax-html-media-capture/","title":"Correct Syntax for HTML Media Capture"},{"url":"https://books.google.com.au/books?id=gswdarRZVUoC&pg=PA263&dq=%22file+uploa…","title":"Programming the Mobile Web: File upload compatibility table"},{"url":"https://addpipe.com/html-media-capture-demo/","title":"HTML Media Capture Test Bench"}],"categories":["HTML5"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y #1","7.0-7.1":"y #1","8":"y #1","8.1-8.4":"y #1","9.0-9.2":"y #1","9.3":"y #1","10.0-10.2":"y #1"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"y #2","2.3":"y #2","3":"y","4":"y","4.1":"y","4.2-4.3":"y","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"u","10":"y"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"a #3"},"samsung":{"4":"y"},"and_qq":{"1.2":"u"}},"notes":"","notes_by_num":{"1":"iOS6-10 do not support the capture attribute used to force capture straight from the device's camera or microphone","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 the whether the capture attribute is used."},"usage_perc_y":41.41,"usage_perc_a":9.23,"ucprefix":false,"parent":"","keywords":"htmlmediacapture, html media capture, media capture, mediacapture","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"css-text-indent":{"title":"CSS text-indent","description":"The `text-indent` property applies indentation to lines of inline content in a block.","spec":"https://drafts.csswg.org/css-text-3/#text-indent-property","status":"wd","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/text-indent","title":"MDN article"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=784648","title":"Firefox support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=112755","title":"WebKit support bug"},{"url":"https://www.sitepoint.com/css-image-replacement-text-indent-negative-margin…","title":"Article on using text-indent for image replacement"}],"categories":["CSS"],"stats":{"ie":{"5.5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1"},"edge":{"12":"a #1","13":"a #1","14":"a #1","15":"a #1"},"firefox":{"2":"a #1","3":"a #1","3.5":"a #1","3.6":"a #1","4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1","39":"a #1","40":"a #1","41":"a #1","42":"a #1","43":"a #1","44":"a #1","45":"a #1","46":"a #1","47":"a #1","48":"a #1","49":"a #1","50":"a #1","51":"a #1","52":"a #1","53":"a #1","54":"a #1","55":"a #1"},"chrome":{"4":"a #1","5":"a #1","6":"a #1","7":"a #1","8":"a #1","9":"a #1","10":"a #1","11":"a #1","12":"a #1","13":"a #1","14":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1","26":"a #1","27":"a #1","28":"a #1","29":"a #1","30":"a #1","31":"a #1","32":"a #1","33":"a #1","34":"a #1","35":"a #1","36":"a #1","37":"a #1","38":"a #1 #2","39":"a #1 #2","40":"a #1 #2","41":"a #1 #2","42":"a #1 #2","43":"a #1 #2","44":"a #1 #2","45":"a #1 #2","46":"a #1 #2","47":"a #1 #2","48":"a #1 #2","49":"a #1 #2","50":"a #1 #2","51":"a #1 #2","52":"a #1 #2","53":"a #1 #2","54":"a #1 #2","55":"a #1 #2","56":"a #1 #2","57":"a #1 #2","58":"a #1 #2","59":"a #1 #2","60":"a #1 #2"},"safari":{"3.1":"a #1","3.2":"a #1","4":"a #1","5":"a #1","5.1":"a #1","6":"a #1","6.1":"a #1","7":"a #1","7.1":"a #1","8":"a #1","9":"a #1","9.1":"a #1","10":"a #1","10.1":"a #1","TP":"a #1"},"opera":{"9":"a #1","9.5-9.6":"a #1","10.0-10.1":"a #1","10.5":"a #1","10.6":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","11.6":"a #1","12":"a #1","12.1":"a #1","15":"a #1","16":"a #1","17":"a #1","18":"a #1","19":"a #1","20":"a #1","21":"a #1","22":"a #1","23":"a #1","24":"a #1","25":"a #1 #2","26":"a #1 #2","27":"a #1 #2","28":"a #1 #2","29":"a #1 #2","30":"a #1 #2","31":"a #1 #2","32":"a #1 #2","33":"a #1 #2","34":"a #1 #2","35":"a #1 #2","36":"a #1 #2","37":"a #1 #2","38":"a #1 #2","39":"a #1 #2","40":"a #1 #2","41":"a #1 #2","42":"a #1 #2","43":"a #1 #2","44":"a #1 #2","45":"a #1 #2"},"ios_saf":{"3.2":"a #1","4.0-4.1":"a #1","4.2-4.3":"a #1","5.0-5.1":"a #1","6.0-6.1":"a #1","7.0-7.1":"a #1","8":"a #1","8.1-8.4":"a #1","9.0-9.2":"a #1","9.3":"a #1","10.0-10.2":"a #1"},"op_mini":{"all":"a #1"},"android":{"2.1":"a #1","2.2":"a #1","2.3":"a #1","3":"a #1","4":"a #1","4.1":"a #1","4.2-4.3":"a #1","4.4":"a #1","4.4.3-4.4.4":"a #1","53":"a #1"},"bb":{"7":"a #1","10":"a #1"},"op_mob":{"10":"a #1","11":"a #1","11.1":"a #1","11.5":"a #1","12":"a #1","12.1":"a #1","37":"a #1 #2"},"and_chr":{"56":"a #1 #2"},"and_ff":{"51":"a #1"},"ie_mob":{"10":"a #1","11":"a #1"},"and_uc":{"11":"a #1"},"samsung":{"4":"a #1"},"and_qq":{"1.2":"a #1 #2"}},"notes":"","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"},"usage_perc_y":0,"usage_perc_a":98.37,"ucprefix":false,"parent":"","keywords":"each-line,hanging","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"intersectionobserver":{"title":"IntersectionObserver","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.","spec":"https://wicg.github.io/IntersectionObserver/","status":"unoff","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API","title":"MDN article"},{"url":"https://github.com/jeremenichelli/intersection-observer-polyfill","title":"Polyfill"},{"url":"https://developers.google.com/web/updates/2016/04/intersectionobserver","title":"Google Developers article"}],"categories":["DOM","JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"a #2"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"y"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Enabled in Firefox by setting the `about:config` preference `dom.IntersectionObserver.enabled` to true","2":"\"Preliminary\" support as feature is still in development"},"usage_perc_y":50.58,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"intersectionobserver","chrome_id":"5695342691483648","firefox_id":"","webkit_id":"specification-intersection-observer"},"css-marker-pseudo":{"title":"CSS ::marker pseudo-element","description":"The `::marker` pseudo-element allows list item markers to be styled or have their content value customized.","spec":"https://drafts.csswg.org/css-lists-3/#marker-pseudo-element","status":"wd","links":[{"url":"https://crbug.com/457718","title":"Chrome support bug"},{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=205202","title":"Firefox support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=141477","title":"WebKit support bug"},{"url":"https://wpdev.uservoice.com/forums/257854-internet-explorer-platform/sugges…","title":"Edge UserVoice request"},{"url":"https://developer.mozilla.org/en-US/docs/Web/CSS/::marker","title":"MDN article"},{"url":"https://css-tricks.com/almanac/selectors/m/marker/","title":"CSS-Tricks article"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"url":{"title":"URL API","description":"API to retrieve the various parts that make up a given URL from a given URL string.","spec":"https://url.spec.whatwg.org/#api","status":"ls","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/API/URL","title":"MDN article on URL interface"},{"url":"https://developer.mozilla.org/en-US/docs/Web/API/URL/URL","title":"MDN article on URL constructor"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n #1","24":"n #1","25":"n #1","26":"n #1","27":"n #1","28":"n #1","29":"n #1","30":"n #1","31":"n #1","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n #1","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n #1","16":"n #1","17":"n #1","18":"n #1","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n #1","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n #1","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"n #1"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"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."},"usage_perc_y":77.67,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"url constructor","ie_id":"urlapi","chrome_id":"5675829346435072","firefox_id":"","webkit_id":""},"flow-root":{"title":"display: flow-root","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. The result is the same as the \"clearfix\" hack.","spec":"https://www.w3.org/TR/css-display-3/#valdef-display-flow-root","status":"wd","links":[{"url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1322191","title":"Mozilla bug report"},{"url":"https://bugs.chromium.org/p/chromium/issues/detail?id=672508","title":"Chromium bug report"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=165603","title":"Webkit bug report"},{"url":"https://wpdev.uservoice.com/forums/257854/suggestions/17420707","title":"Edge bug report"},{"url":"https://rachelandrew.co.uk/archives/2017/01/24/the-end-of-the-clearfix-hack/","title":"Blog post: \"The end of the clearfix hack?\""}],"categories":["CSS","CSS2"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":0.07,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"display,flow-root","ie_id":"","chrome_id":"5769454877147136","firefox_id":"","webkit_id":""},"css-rrggbbaa":{"title":"#rrggbbaa hex color notation","description":"The CSS Color Module Level 4 defines new 4 & 8 character hex notation for color to include the opacity level.","spec":"https://drafts.csswg.org/css-color/#hex-notation","status":"unoff","links":[{"url":"http://jsbin.com/ruyetahatu/edit?html,css,output","title":"JS Bin testcase"},{"url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggesti…","title":"Edge support request for rrggbbaa"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"n"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1","60":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"y"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n d #1"}},"notes":"Support in Chrome is currently disable due to [this issue](http://crbug.com/618472)","notes_by_num":{"1":"Can be enabled via the \"Experimental web platform features\" flag."},"usage_perc_y":15.08,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"rgba, rrggbbaa, color","ie_id":"","chrome_id":"5685348285808640","firefox_id":"","webkit_id":""},"beforeafterprint":{"title":"Printing Events","description":"Window fires `beforeprint` and `afterprint` events so the printed document can be annotated.","spec":"https://www.w3.org/TR/html5/webappapis.html#printing","status":"rec","links":[{"url":"https://developer.mozilla.org/en-US/docs/Web/Guide/Printing#Detecting_print…","title":"MDN \u2013 Detecting print requests"},{"url":"http://crbug.com/218205","title":"Chrome support bug"},{"url":"https://bugs.webkit.org/show_bug.cgi?id=19937","title":"Safari support bug"}],"categories":["HTML5","JS API"],"stats":{"ie":{"5.5":"u","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"u","10":"u"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"y"},"ie_mob":{"10":"u","11":"u"},"and_uc":{"11":"u"},"samsung":{"4":"u"},"and_qq":{"1.2":"n"}},"notes":"Due to its wider support, consider using `window.matchMedia('print')` where possible.","notes_by_num":{},"usage_perc_y":12.81,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"print,printer,printing,beforeprint,afterprint","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"webvr":{"title":"WebVR API","description":"API for accessing virtual reality (VR) devices, including sensors and head-mounted displays.","spec":"https://w3c.github.io/webvr/","status":"unoff","links":[{"url":"https://webvr.rocks/","title":"Detailed device support information"},{"url":"https://github.com/googlevr/webvr-polyfill","title":"WebVR polyfill"},{"url":"http://aframe.io","title":"WebVR framework"},{"url":"https://webvr.info/","title":"WebVR info"}],"categories":["JS API"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"y #3"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n d #1","55":"n d #1"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n d #2","58":"n d #2","59":"n d #2","60":"n d #2"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n d #2"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{"1":"Available only in Firefox nightly & Firefox Developer Edition, not yet on track to be enabled for stable & beta builds.","2":"Enabled behind the WebVR & \"Gamepad Extensions\" flags under `chrome://flags`. Currently builds use an older version of the (still changing) specification.","3":"[In development](https://blogs.windows.com/msedgedev/2016/09/09/webvr-in-develo… in the latest Edge builds."},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"getvrdevices,getvrdisplays,getdisplays,navigator.vr","ie_id":"webvr","chrome_id":"4532810371039232","firefox_id":"","webkit_id":""},"css-apply-rule":{"title":"CSS @apply rule","description":"Allows a set of CSS properties to be applied using a named variable","spec":"https://tabatkins.github.io/specs/css-apply-rule/","status":"unoff","links":[{"url":"http://zeke.sikelianos.com/css-from-the-future/","title":"Article on CSS @apply"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"u"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n d #1","52":"n d #1","53":"n d #1","54":"n d #1","55":"n d #1","56":"n d #1","57":"n d #1","58":"n d #1","59":"n d #1","60":"n d #1"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"n","10.1":"n","TP":"n"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n d #1","39":"n d #1","40":"n d #1","41":"n d #1","42":"n d #1","43":"n d #1","44":"n d #1","45":"n d #1"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"n"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n d #1"},"and_chr":{"56":"n d #1"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"See also support for [CSS Variables](#feat=css-variables)","notes_by_num":{"1":"Can be enabled via the \"Experimental web platform features\" flag under about:flags"},"usage_perc_y":0,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"","ie_id":"","chrome_id":"5753701012602880","firefox_id":"","webkit_id":""},"css-hanging-punctuation":{"title":"CSS hanging-punctuation","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.","spec":"https://drafts.csswg.org/css-text-3/#hanging-punctuation-property","status":"wd","links":[{"url":"https://css-tricks.com/almanac/properties/h/hanging-punctuation/","title":"CSS tricks article"}],"categories":["CSS"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n"},"edge":{"12":"n","13":"n","14":"n","15":"u"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"n","50":"n","51":"n","52":"n","53":"n","54":"n","55":"n","56":"n","57":"n","58":"n","59":"n","60":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"n","7.1":"n","8":"n","9":"n","9.1":"n","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.1":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8":"n","8.1-8.4":"n","9.0-9.2":"n","9.3":"n","10.0-10.2":"y"},"op_mini":{"all":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"n","4.4.3-4.4.4":"n","53":"n"},"bb":{"7":"n","10":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n","12.1":"n","37":"n"},"and_chr":{"56":"n"},"and_ff":{"51":"n"},"ie_mob":{"10":"n","11":"n"},"and_uc":{"11":"n"},"samsung":{"4":"n"},"and_qq":{"1.2":"n"}},"notes":"","notes_by_num":{},"usage_perc_y":9.77,"usage_perc_a":0,"ucprefix":false,"parent":"","keywords":"hanging punctuation,force-end,allow-end","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""},"background-repeat-round-space":{"title":"CSS background-repeat round and space","description":"Allows CSS background images to be repeated without clipping.","spec":"http://www.w3.org/TR/css3-background/#background-position","status":"cr","links":[{"url":"https://developer.mozilla.org//docs/Web/CSS/background-repeat","title":"MDN article on background-repeat"},{"url":"https://css-tricks.com/almanac/properties/b/background-repeat/","title":"CSS-Tricks article on background-repeat"}],"categories":["CSS3"],"stats":{"ie":{"5.5":"n","6":"n","7":"n","8":"n","9":"a #1","10":"y","11":"y"},"edge":{"12":"y","13":"y","14":"y","15":"y"},"firefox":{"2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"n","33":"n","34":"n","35":"n","36":"n","37":"n","38":"n","39":"n","40":"n","41":"n","42":"n","43":"n","44":"n","45":"n","46":"n","47":"n","48":"n","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y"},"chrome":{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"n","29":"n","30":"n","31":"n","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n","6.1":"n","7":"y","7.1":"y","8":"y","9":"y","9.1":"y","10":"y","10.1":"y","TP":"y"},"opera":{"9":"n","9.5-9.6":"n","10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.1":"y","15":"n","16":"n","17":"n","18":"n","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"y","8":"y","8.1-8.4":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y"},"op_mini":{"all":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n","4.1":"n","4.2-4.3":"n","4.4":"y","4.4.3-4.4.4":"y","53":"y"},"bb":{"7":"n","10":"y"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y","12.1":"y","37":"y"},"and_chr":{"56":"y"},"and_ff":{"51":"y"},"ie_mob":{"10":"y","11":"y"},"and_uc":{"11":"n"},"samsung":{"4":"y"},"and_qq":{"1.2":"y"}},"notes":"","notes_by_num":{"1":"IE9 does not appear to render \"background-repeat: round\" correctly."},"usage_perc_y":85.6,"usage_perc_a":0.24,"ucprefix":false,"parent":"","keywords":"4 value syntax,background-repeat: round,background-repeat: space","ie_id":"","chrome_id":"","firefox_id":"","webkit_id":""}}}
},{}],68:[function(require,module,exports){
module.exports={
"title":"CSS3 Background-image options",
@@ -8172,7 +8172,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"a #2 #3",
@@ -8475,7 +8476,8 @@
"56":"a #2",
"57":"a #2",
"58":"a #2",
- "59":"a #2"
+ "59":"a #2",
+ "60":"a #2"
},
"safari":{
"3.1":"a x #1 #2 #3 #4",
@@ -8799,7 +8801,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y x",
@@ -9128,7 +9131,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -9445,7 +9449,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -9733,7 +9738,8 @@
"56":"y x",
"57":"y x",
"58":"y x",
- "59":"y x"
+ "59":"y x",
+ "60":"y x"
},
"safari":{
"3.1":"u",
@@ -10021,7 +10027,8 @@
"56":"a x #1",
"57":"a x #1",
"58":"a x #1",
- "59":"a x #1"
+ "59":"a x #1",
+ "60":"a x #1"
},
"safari":{
"3.1":"a x #1",
@@ -10325,7 +10332,8 @@
"56":"n d #1",
"57":"n d #1",
"58":"n d #1",
- "59":"n d #1"
+ "59":"n d #1",
+ "60":"n d #1"
},
"safari":{
"3.1":"n",
@@ -10621,7 +10629,8 @@
"56":"a x #1",
"57":"a x #1",
"58":"a x #1",
- "59":"a x #1"
+ "59":"a x #1",
+ "60":"a x #1"
},
"safari":{
"3.1":"n",
@@ -10933,7 +10942,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"a x #1",
@@ -11229,7 +11239,8 @@
"56":"a #2",
"57":"a #2",
"58":"a #2",
- "59":"a #2"
+ "59":"a #2",
+ "60":"a #2"
},
"safari":{
"3.1":"n",
@@ -11526,7 +11537,8 @@
"56":"y #4",
"57":"y #4",
"58":"y #4",
- "59":"y #4"
+ "59":"y #4",
+ "60":"y #4"
},
"safari":{
"3.1":"n",
@@ -11819,7 +11831,8 @@
"56":"y x",
"57":"y x",
"58":"y x",
- "59":"y x"
+ "59":"y x",
+ "60":"y x"
},
"safari":{
"3.1":"n",
@@ -12127,7 +12140,8 @@
"56":"n d",
"57":"n d",
"58":"n d",
- "59":"n d"
+ "59":"n d",
+ "60":"n d"
},
"safari":{
"3.1":"n",
@@ -12421,7 +12435,8 @@
"56":"n",
"57":"n",
"58":"n",
- "59":"n"
+ "59":"n",
+ "60":"n"
},
"safari":{
"3.1":"n",
@@ -12726,7 +12741,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -13017,7 +13033,8 @@
"56":"n",
"57":"n",
"58":"n",
- "59":"n"
+ "59":"n",
+ "60":"n"
},
"safari":{
"3.1":"n",
@@ -13318,7 +13335,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -13621,7 +13639,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -13787,6 +13806,10 @@
{
"url":"https://github.com/FremyCompany/css-grid-polyfill/",
"title":"Polyfill based on new spec"
+ },
+ {
+ "url":"https://webkit.org/blog/7434/css-grid-layout-a-new-layout-module-for-the-we…",
+ "title":"WebKit Blog post"
}
],
"bugs":[
@@ -13925,7 +13948,8 @@
"56":"p d #1",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -14227,7 +14251,8 @@
"56":"a #1",
"57":"a #1",
"58":"a #1",
- "59":"a #1"
+ "59":"a #1",
+ "60":"a #1"
},
"safari":{
"3.1":"n",
@@ -14519,7 +14544,8 @@
"56":"y x",
"57":"y x",
"58":"y x",
- "59":"y x"
+ "59":"y x",
+ "60":"y x"
},
"safari":{
"3.1":"n",
@@ -14816,7 +14842,8 @@
"56":"a x #2",
"57":"a x #2",
"58":"a x #2",
- "59":"a x #2"
+ "59":"a x #2",
+ "60":"a x #2"
},
"safari":{
"3.1":"a x #2",
@@ -15121,7 +15148,8 @@
"56":"a x #1",
"57":"a x #1",
"58":"a x #1",
- "59":"a x #1"
+ "59":"a x #1",
+ "60":"a x #1"
},
"safari":{
"3.1":"n",
@@ -15422,7 +15450,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -15728,7 +15757,8 @@
"56":"a x",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -16032,7 +16062,8 @@
"56":"a #1",
"57":"a #1",
"58":"a #1",
- "59":"a #1"
+ "59":"a #1",
+ "60":"a #1"
},
"safari":{
"3.1":"u",
@@ -16332,7 +16363,8 @@
"56":"n",
"57":"n",
"58":"n",
- "59":"n"
+ "59":"n",
+ "60":"n"
},
"safari":{
"3.1":"n",
@@ -16627,7 +16659,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y",
@@ -16927,7 +16960,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -17223,7 +17257,8 @@
"56":"n",
"57":"n",
"58":"n",
- "59":"n"
+ "59":"n",
+ "60":"n"
},
"safari":{
"3.1":"n",
@@ -17540,7 +17575,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -17833,7 +17869,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -18123,7 +18160,8 @@
"56":"n",
"57":"n",
"58":"n",
- "59":"n"
+ "59":"n",
+ "60":"n"
},
"safari":{
"3.1":"n",
@@ -18444,7 +18482,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y x",
@@ -18736,7 +18775,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -19058,7 +19098,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y x",
@@ -19346,7 +19387,8 @@
"56":"y x",
"57":"y x",
"58":"y x",
- "59":"y x"
+ "59":"y x",
+ "60":"y x"
},
"safari":{
"3.1":"y x",
@@ -19634,7 +19676,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y x",
@@ -19928,7 +19971,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -20275,7 +20319,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"a x #1",
@@ -20595,7 +20640,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -20884,7 +20930,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -21201,7 +21248,8 @@
"56":"a x #2 #3",
"57":"a x #2 #3",
"58":"a x #2 #3",
- "59":"a x #2 #3"
+ "59":"a x #2 #3",
+ "60":"a x #2 #3"
},
"safari":{
"3.1":"n",
@@ -21492,7 +21540,8 @@
"56":"y #3 #4",
"57":"y #3 #4",
"58":"y #3 #4",
- "59":"y #3 #4"
+ "59":"y #3 #4",
+ "60":"y #3 #4"
},
"safari":{
"3.1":"n",
@@ -21687,6 +21736,9 @@
},
{
"description":"Safari 5-8 is known to render columns [less evenly](http://stackoverflow.com/questions/14148078/safari-column-count-dif… than other browsers"
+ },
+ {
+ "description":"Safari 5.1-10+ does not work as expected with `min-height` [see testcase](https://codepen.io/herrschuessler/pen/LNVWJE) [see bug](https://bugs.webkit.org/show_bug.cgi?id=65691)"
}
],
"categories":[
@@ -21822,7 +21874,8 @@
"56":"a #1",
"57":"a #1",
"58":"a #1",
- "59":"a #1"
+ "59":"a #1",
+ "60":"a #1"
},
"safari":{
"3.1":"a x #1 #2",
@@ -22119,7 +22172,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -22424,7 +22478,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -22734,7 +22789,8 @@
"56":"n x d #1",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -23035,7 +23091,8 @@
"56":"a x #1",
"57":"a x #1",
"58":"a x #1",
- "59":"a x #1"
+ "59":"a x #1",
+ "60":"a x #1"
},
"safari":{
"3.1":"n",
@@ -23348,7 +23405,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y",
@@ -23640,7 +23698,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -23965,7 +24024,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y x",
@@ -24287,7 +24347,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"n",
@@ -24589,7 +24650,8 @@
"56":"y",
"57":"y",
"58":"y",
- "59":"y"
+ "59":"y",
+ "60":"y"
},
"safari":{
"3.1":"y x",
@@ -24905,10 +24967,10 @@
}).call(this,require('_process'))
},{"_process":164}],125:[function(require,module,exports){
module.exports = {
+ "1.3":"52",
"1.6":"56",
"1.5":"54",
"1.4":"53",
- "1.3":"52",
"1.2":"51",
"1.1":"50",
"1.0":"49",
1
0
Hello community,
here is the log from the commit of package rubygem-jquery-rails for openSUSE:Factory checked in at 2017-03-31 15:08:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-jquery-rails (Old)
and /work/SRC/openSUSE:Factory/.rubygem-jquery-rails.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-jquery-rails"
Fri Mar 31 15:08:00 2017 rev:15 rq:482294 version:4.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-jquery-rails/rubygem-jquery-rails.changes 2017-01-15 11:19:00.686472072 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-jquery-rails.new/rubygem-jquery-rails.changes 2017-03-31 15:08:01.380807311 +0200
@@ -1,0 +2,15 @@
+Wed Mar 22 05:31:48 UTC 2017 - coolo(a)suse.com
+
+- updated to version 4.3.1
+ see installed CHANGELOG.md
+
+ ## 4.3.1
+
+ - update jquery to 3.2.1
+
+ ## 4.3.0
+
+ - update jquery to 3.2.0
+ - Add possibility to test HTML attribute selectors
+
+-------------------------------------------------------------------
Old:
----
jquery-rails-4.2.2.gem
New:
----
jquery-rails-4.3.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-jquery-rails.spec ++++++
--- /var/tmp/diff_new_pack.lw7ZNR/_old 2017-03-31 15:08:01.964724759 +0200
+++ /var/tmp/diff_new_pack.lw7ZNR/_new 2017-03-31 15:08:01.964724759 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-jquery-rails
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-jquery-rails
-Version: 4.2.2
+Version: 4.3.1
Release: 0
%define mod_name jquery-rails
%define mod_full_name %{mod_name}-%{version}
++++++ jquery-rails-4.2.2.gem -> jquery-rails-4.3.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2016-12-29 02:10:07.000000000 +0100
+++ new/CHANGELOG.md 2017-03-21 19:39:18.000000000 +0100
@@ -1,3 +1,12 @@
+## 4.3.1
+
+- update jquery to 3.2.1
+
+## 4.3.0
+
+- update jquery to 3.2.0
+- Add possibility to test HTML attribute selectors
+
## 4.2.2
- update jquery to 3.1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile new/Gemfile
--- old/Gemfile 2016-12-29 02:10:07.000000000 +0100
+++ new/Gemfile 2017-03-21 19:39:18.000000000 +0100
@@ -12,5 +12,11 @@
gem 'json', '~> 1.8.0'
end
+if RUBY_VERSION >= '2.1'
+ gem 'nokogiri'
+else
+ gem 'nokogiri', '~> 1.6.0'
+end
+
# Specify your gem's dependencies in jquery-rails.gemspec
gemspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/VERSIONS.md new/VERSIONS.md
--- old/VERSIONS.md 2016-12-29 02:10:07.000000000 +0100
+++ new/VERSIONS.md 2017-03-21 19:39:18.000000000 +0100
@@ -2,6 +2,8 @@
| Gem | jQuery | jQuery UJS | jQuery UI |
|--------|--------|------------| ----------|
+| 4.3.1 | 1.12.4 & 2.2.4 & 3.2.1 | 1.2.2 | - |
+| 4.3.0 | 1.12.4 & 2.2.4 & 3.2.0 | 1.2.2 | - |
| 4.2.2 | 1.12.4 & 2.2.4 & 3.1.1 | 1.2.2 | - |
| 4.2.1 | 1.12.4 & 2.2.4 & 3.1.0 | 1.2.2 | - |
| 4.2.0 | 1.12.4 & 2.2.4 & 3.0.0 | 1.2.2 | - |
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/jquery/assert_select.rb new/lib/jquery/assert_select.rb
--- old/lib/jquery/assert_select.rb 2016-12-29 02:10:07.000000000 +0100
+++ new/lib/jquery/assert_select.rb 2017-03-21 19:39:18.000000000 +0100
@@ -54,7 +54,7 @@
def assert_select_jquery(*args, &block)
jquery_method = args.first.is_a?(Symbol) ? args.shift : nil
jquery_opt = args.first.is_a?(Symbol) ? args.shift : nil
- id = args.first.is_a?(String) ? args.shift : nil
+ id = args.first.is_a?(String) ? escape_id(args.shift) : nil
target_pattern = "['\"]#{id || '.*'}['\"]"
method_pattern = "#{jquery_method || '\\w+'}"
@@ -128,4 +128,13 @@
unescaped.gsub!(PATTERN_UNICODE_ESCAPED_CHAR) {|u| [$1.hex].pack('U*')}
unescaped
end
+
+ def escape_id(selector)
+ return unless selector
+
+ id = selector.gsub('[', '\[')
+ id.gsub!(']', '\]')
+
+ id
+ end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/jquery/rails/version.rb new/lib/jquery/rails/version.rb
--- old/lib/jquery/rails/version.rb 2016-12-29 02:10:07.000000000 +0100
+++ new/lib/jquery/rails/version.rb 2017-03-21 19:39:18.000000000 +0100
@@ -1,9 +1,9 @@
module Jquery
module Rails
- VERSION = "4.2.2"
+ VERSION = "4.3.1"
JQUERY_VERSION = "1.12.4"
JQUERY_2_VERSION = "2.2.4"
- JQUERY_3_VERSION = "3.1.1"
+ JQUERY_3_VERSION = "3.2.1"
JQUERY_UJS_VERSION = "1.2.2"
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2016-12-29 02:10:07.000000000 +0100
+++ new/metadata 2017-03-21 19:39:18.000000000 +0100
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: jquery-rails
version: !ruby/object:Gem::Version
- version: 4.2.2
+ version: 4.3.1
platform: ruby
authors:
- André Arko
autorequire:
bindir: bin
cert_chain: []
-date: 2016-12-29 00:00:00.000000000 Z
+date: 2017-03-21 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: railties
@@ -119,7 +119,7 @@
version: 1.3.6
requirements: []
rubyforge_project:
-rubygems_version: 2.6.8
+rubygems_version: 2.6.10
signing_key:
specification_version: 4
summary: Use jQuery with Rails 4+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/assert_select_jquery_test.rb new/test/assert_select_jquery_test.rb
--- old/test/assert_select_jquery_test.rb 2016-12-29 02:10:07.000000000 +0100
+++ new/test/assert_select_jquery_test.rb 2017-03-21 19:39:18.000000000 +0100
@@ -13,6 +13,7 @@
jQuery("<div><p>something</p></div>").prependTo("#id");
$('#id').remove();
jQuery("#id").hide();
+ $("[data-placeholder~=name]").remove();
JS
setup do
@@ -28,6 +29,7 @@
assert_select_jquery :replaceWith, '#id' do
assert_select 'p', 'something'
end
+ assert_select_jquery :remove, "[data-placeholder~=name]"
end
assert_raise Minitest::Assertion, "No JQuery call matches [:show, :some_wrong]" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/assets/javascripts/jquery3.js new/vendor/assets/javascripts/jquery3.js
--- old/vendor/assets/javascripts/jquery3.js 2016-12-29 02:10:07.000000000 +0100
+++ new/vendor/assets/javascripts/jquery3.js 2017-03-21 19:39:19.000000000 +0100
@@ -1,15 +1,15 @@
/*!
- * jQuery JavaScript Library v3.1.1
+ * jQuery JavaScript Library v3.2.1
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
- * Copyright jQuery Foundation and other contributors
+ * Copyright JS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
- * Date: 2016-09-22T22:30Z
+ * Date: 2017-03-20T18:59Z
*/
( function( global, factory ) {
@@ -88,7 +88,7 @@
var
- version = "3.1.1",
+ version = "3.2.1",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
@@ -236,11 +236,11 @@
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
- ( copyIsArray = jQuery.isArray( copy ) ) ) ) {
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
if ( copyIsArray ) {
copyIsArray = false;
- clone = src && jQuery.isArray( src ) ? src : [];
+ clone = src && Array.isArray( src ) ? src : [];
} else {
clone = src && jQuery.isPlainObject( src ) ? src : {};
@@ -279,8 +279,6 @@
return jQuery.type( obj ) === "function";
},
- isArray: Array.isArray,
-
isWindow: function( obj ) {
return obj != null && obj === obj.window;
},
@@ -355,10 +353,6 @@
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
},
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
- },
-
each: function( obj, callback ) {
var length, i = 0;
@@ -2843,6 +2837,13 @@
var rneedsContext = jQuery.expr.match.needsContext;
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
@@ -3194,7 +3195,18 @@
return siblings( elem.firstChild );
},
contents: function( elem ) {
- return elem.contentDocument || jQuery.merge( [], elem.childNodes );
+ if ( nodeName( elem, "iframe" ) ) {
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
}
}, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) {
@@ -3292,7 +3304,7 @@
fire = function() {
// Enforce single-firing
- locked = options.once;
+ locked = locked || options.once;
// Execute callbacks for all pending executions,
// respecting firingIndex overrides and runtime changes
@@ -3461,7 +3473,7 @@
throw ex;
}
-function adoptValue( value, resolve, reject ) {
+function adoptValue( value, resolve, reject, noValue ) {
var method;
try {
@@ -3477,9 +3489,10 @@
// Other non-thenables
} else {
- // Support: Android 4.0 only
- // Strict mode functions invoked without .call/.apply get global-object context
- resolve.call( undefined, value );
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
}
// For Promises/A+, convert exceptions into rejections
@@ -3489,7 +3502,7 @@
// Support: Android 4.0 only
// Strict mode functions invoked without .call/.apply get global-object context
- reject.call( undefined, value );
+ reject.apply( undefined, [ value ] );
}
}
@@ -3814,7 +3827,8 @@
// Single- and empty arguments are adopted like Promise.resolve
if ( remaining <= 1 ) {
- adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject );
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
// Use .then() to unwrap secondary thenables (cf. gh-3000)
if ( master.state() === "pending" ||
@@ -3886,15 +3900,6 @@
// the ready event fires. See #6781
readyWait: 1,
- // Hold (or release) the ready event
- holdReady: function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
- },
-
// Handle when the DOM is ready
ready: function( wait ) {
@@ -4130,7 +4135,7 @@
if ( key !== undefined ) {
// Support array or space separated string of keys
- if ( jQuery.isArray( key ) ) {
+ if ( Array.isArray( key ) ) {
// If key is an array of keys...
// We always set camelCase keys, so remove that.
@@ -4356,7 +4361,7 @@
// Speed up dequeue by getting out quickly if this is just a lookup
if ( data ) {
- if ( !queue || jQuery.isArray( data ) ) {
+ if ( !queue || Array.isArray( data ) ) {
queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
} else {
queue.push( data );
@@ -4733,7 +4738,7 @@
ret = [];
}
- if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) {
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
return jQuery.merge( [ context ], ret );
}
@@ -5340,7 +5345,7 @@
// For checkbox, fire native event so checked state will be right
trigger: function() {
- if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
+ if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
this.click();
return false;
}
@@ -5348,7 +5353,7 @@
// For cross-browser consistency, don't fire native .click() on links
_default: function( event ) {
- return jQuery.nodeName( event.target, "a" );
+ return nodeName( event.target, "a" );
}
},
@@ -5625,11 +5630,12 @@
rscriptTypeMasked = /^true\/(.*)/,
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+// Prefer a tbody over its parent table for containing new rows
function manipulationTarget( elem, content ) {
- if ( jQuery.nodeName( elem, "table" ) &&
- jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+ if ( nodeName( elem, "table" ) &&
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
- return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
+ return jQuery( ">tbody", elem )[ 0 ] || elem;
}
return elem;
@@ -6159,12 +6165,18 @@
function curCSS( elem, name, computed ) {
var width, minWidth, maxWidth, ret,
+
+ // Support: Firefox 51+
+ // Retrieving style before computed somehow
+ // fixes an issue with getting wrong values
+ // on detached elements
style = elem.style;
computed = computed || getStyles( elem );
- // Support: IE <=9 only
- // getPropertyValue is only needed for .css('filter') (#12537)
+ // getPropertyValue is needed for:
+ // .css('filter') (IE 9 only, #12537)
+ // .css('--customProperty) (#3144)
if ( computed ) {
ret = computed.getPropertyValue( name ) || computed[ name ];
@@ -6230,6 +6242,7 @@
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
@@ -6259,6 +6272,16 @@
}
}
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+ var ret = jQuery.cssProps[ name ];
+ if ( !ret ) {
+ ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+ }
+ return ret;
+}
+
function setPositiveNumber( elem, value, subtract ) {
// Any relative (+/-) values have already been
@@ -6319,44 +6342,31 @@
function getWidthOrHeight( elem, name, extra ) {
- // Start with offset property, which is equivalent to the border-box value
- var val,
- valueIsBorderBox = true,
+ // Start with computed style
+ var valueIsBorderBox,
styles = getStyles( elem ),
+ val = curCSS( elem, name, styles ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
- // Support: IE <=11 only
- // Running getBoundingClientRect on a disconnected node
- // in IE throws an error.
- if ( elem.getClientRects().length ) {
- val = elem.getBoundingClientRect()[ name ];
+ // Computed unit is not pixels. Stop here and return.
+ if ( rnumnonpx.test( val ) ) {
+ return val;
}
- // Some non-html elements return undefined for offsetWidth, so check for null/undefined
- // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
- // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
- if ( val <= 0 || val == null ) {
-
- // Fall back to computed then uncomputed css if necessary
- val = curCSS( elem, name, styles );
- if ( val < 0 || val == null ) {
- val = elem.style[ name ];
- }
-
- // Computed unit is not pixels. Stop here and return.
- if ( rnumnonpx.test( val ) ) {
- return val;
- }
-
- // Check for style in case a browser which returns unreliable values
- // for getComputedStyle silently falls back to the reliable elem.style
- valueIsBorderBox = isBorderBox &&
- ( support.boxSizingReliable() || val === elem.style[ name ] );
-
- // Normalize "", auto, and prepare for extra
- val = parseFloat( val ) || 0;
+ // Check for style in case a browser which returns unreliable values
+ // for getComputedStyle silently falls back to the reliable elem.style
+ valueIsBorderBox = isBorderBox &&
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
+
+ // Fall back to offsetWidth/Height when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ if ( val === "auto" ) {
+ val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
}
+ // Normalize "", auto, and prepare for extra
+ val = parseFloat( val ) || 0;
+
// Use the active box-sizing model to add/subtract irrelevant styles
return ( val +
augmentWidthOrHeight(
@@ -6420,10 +6430,15 @@
// Make sure that we're working with the right name
var ret, type, hooks,
origName = jQuery.camelCase( name ),
+ isCustomProp = rcustomProp.test( name ),
style = elem.style;
- name = jQuery.cssProps[ origName ] ||
- ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+ // Make sure that we're working with the right name. We don't
+ // want to query the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
// Gets hook for the prefixed version, then unprefixed version
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
@@ -6459,7 +6474,11 @@
if ( !hooks || !( "set" in hooks ) ||
( value = hooks.set( elem, value, extra ) ) !== undefined ) {
- style[ name ] = value;
+ if ( isCustomProp ) {
+ style.setProperty( name, value );
+ } else {
+ style[ name ] = value;
+ }
}
} else {
@@ -6478,11 +6497,15 @@
css: function( elem, name, extra, styles ) {
var val, num, hooks,
- origName = jQuery.camelCase( name );
+ origName = jQuery.camelCase( name ),
+ isCustomProp = rcustomProp.test( name );
- // Make sure that we're working with the right name
- name = jQuery.cssProps[ origName ] ||
- ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+ // Make sure that we're working with the right name. We don't
+ // want to modify the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
// Try prefixed name followed by the unprefixed name
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
@@ -6507,6 +6530,7 @@
num = parseFloat( val );
return extra === true || isFinite( num ) ? num || 0 : val;
}
+
return val;
}
} );
@@ -6606,7 +6630,7 @@
map = {},
i = 0;
- if ( jQuery.isArray( name ) ) {
+ if ( Array.isArray( name ) ) {
styles = getStyles( elem );
len = name.length;
@@ -6744,13 +6768,18 @@
var
- fxNow, timerId,
+ fxNow, inProgress,
rfxtypes = /^(?:toggle|show|hide)$/,
rrun = /queueHooks$/;
-function raf() {
- if ( timerId ) {
- window.requestAnimationFrame( raf );
+function schedule() {
+ if ( inProgress ) {
+ if ( document.hidden === false && window.requestAnimationFrame ) {
+ window.requestAnimationFrame( schedule );
+ } else {
+ window.setTimeout( schedule, jQuery.fx.interval );
+ }
+
jQuery.fx.tick();
}
}
@@ -6977,7 +7006,7 @@
name = jQuery.camelCase( index );
easing = specialEasing[ name ];
value = props[ index ];
- if ( jQuery.isArray( value ) ) {
+ if ( Array.isArray( value ) ) {
easing = value[ 1 ];
value = props[ index ] = value[ 0 ];
}
@@ -7036,12 +7065,19 @@
deferred.notifyWith( elem, [ animation, percent, remaining ] );
+ // If there's more to do, yield
if ( percent < 1 && length ) {
return remaining;
- } else {
- deferred.resolveWith( elem, [ animation ] );
- return false;
}
+
+ // If this was an empty animation, synthesize a final progress notification
+ if ( !length ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ }
+
+ // Resolve the animation and report its conclusion
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
},
animation = deferred.promise( {
elem: elem,
@@ -7106,6 +7142,13 @@
animation.opts.start.call( elem, animation );
}
+ // Attach callbacks from options
+ animation
+ .progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+
jQuery.fx.timer(
jQuery.extend( tick, {
elem: elem,
@@ -7114,11 +7157,7 @@
} )
);
- // attach callbacks from options
- return animation.progress( animation.opts.progress )
- .done( animation.opts.done, animation.opts.complete )
- .fail( animation.opts.fail )
- .always( animation.opts.always );
+ return animation;
}
jQuery.Animation = jQuery.extend( Animation, {
@@ -7169,8 +7208,8 @@
easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
};
- // Go to the end state if fx are off or if document is hidden
- if ( jQuery.fx.off || document.hidden ) {
+ // Go to the end state if fx are off
+ if ( jQuery.fx.off ) {
opt.duration = 0;
} else {
@@ -7362,7 +7401,7 @@
for ( ; i < timers.length; i++ ) {
timer = timers[ i ];
- // Checks the timer has not already been removed
+ // Run the timer and safely remove it when done (allowing for external removal)
if ( !timer() && timers[ i ] === timer ) {
timers.splice( i--, 1 );
}
@@ -7376,30 +7415,21 @@
jQuery.fx.timer = function( timer ) {
jQuery.timers.push( timer );
- if ( timer() ) {
- jQuery.fx.start();
- } else {
- jQuery.timers.pop();
- }
+ jQuery.fx.start();
};
jQuery.fx.interval = 13;
jQuery.fx.start = function() {
- if ( !timerId ) {
- timerId = window.requestAnimationFrame ?
- window.requestAnimationFrame( raf ) :
- window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
+ if ( inProgress ) {
+ return;
}
+
+ inProgress = true;
+ schedule();
};
jQuery.fx.stop = function() {
- if ( window.cancelAnimationFrame ) {
- window.cancelAnimationFrame( timerId );
- } else {
- window.clearInterval( timerId );
- }
-
- timerId = null;
+ inProgress = null;
};
jQuery.fx.speeds = {
@@ -7516,7 +7546,7 @@
type: {
set: function( elem, value ) {
if ( !support.radioValue && value === "radio" &&
- jQuery.nodeName( elem, "input" ) ) {
+ nodeName( elem, "input" ) ) {
var val = elem.value;
elem.setAttribute( "type", value );
if ( val ) {
@@ -7947,7 +7977,7 @@
} else if ( typeof val === "number" ) {
val += "";
- } else if ( jQuery.isArray( val ) ) {
+ } else if ( Array.isArray( val ) ) {
val = jQuery.map( val, function( value ) {
return value == null ? "" : value + "";
} );
@@ -8006,7 +8036,7 @@
// Don't return options that are disabled or in a disabled optgroup
!option.disabled &&
( !option.parentNode.disabled ||
- !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
+ !nodeName( option.parentNode, "optgroup" ) ) ) {
// Get the specific value for the option
value = jQuery( option ).val();
@@ -8058,7 +8088,7 @@
jQuery.each( [ "radio", "checkbox" ], function() {
jQuery.valHooks[ this ] = {
set: function( elem, value ) {
- if ( jQuery.isArray( value ) ) {
+ if ( Array.isArray( value ) ) {
return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
}
}
@@ -8353,7 +8383,7 @@
function buildParams( prefix, obj, traditional, add ) {
var name;
- if ( jQuery.isArray( obj ) ) {
+ if ( Array.isArray( obj ) ) {
// Serialize array item.
jQuery.each( obj, function( i, v ) {
@@ -8405,7 +8435,7 @@
};
// If an array was passed in, assume that it is an array of form elements.
- if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+ if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
// Serialize the form elements
jQuery.each( a, function() {
@@ -8451,7 +8481,7 @@
return null;
}
- if ( jQuery.isArray( val ) ) {
+ if ( Array.isArray( val ) ) {
return jQuery.map( val, function( val ) {
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
} );
@@ -9876,13 +9906,6 @@
-/**
- * Gets a window from an element
- */
-function getWindow( elem ) {
- return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
-}
-
jQuery.offset = {
setOffset: function( elem, options, i ) {
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
@@ -9947,13 +9970,14 @@
} );
}
- var docElem, win, rect, doc,
+ var doc, docElem, rect, win,
elem = this[ 0 ];
if ( !elem ) {
return;
}
+ // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
// Support: IE <=11 only
// Running getBoundingClientRect on a
// disconnected node in IE throws an error
@@ -9963,20 +9987,14 @@
rect = elem.getBoundingClientRect();
- // Make sure element is not hidden (display: none)
- if ( rect.width || rect.height ) {
- doc = elem.ownerDocument;
- win = getWindow( doc );
- docElem = doc.documentElement;
-
- return {
- top: rect.top + win.pageYOffset - docElem.clientTop,
- left: rect.left + win.pageXOffset - docElem.clientLeft
- };
- }
+ doc = elem.ownerDocument;
+ docElem = doc.documentElement;
+ win = doc.defaultView;
- // Return zeros for disconnected and hidden elements (gh-2310)
- return rect;
+ return {
+ top: rect.top + win.pageYOffset - docElem.clientTop,
+ left: rect.left + win.pageXOffset - docElem.clientLeft
+ };
},
position: function() {
@@ -10002,7 +10020,7 @@
// Get correct offsets
offset = this.offset();
- if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
+ if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
parentOffset = offsetParent.offset();
}
@@ -10049,7 +10067,14 @@
jQuery.fn[ method ] = function( val ) {
return access( this, function( elem, method, val ) {
- var win = getWindow( elem );
+
+ // Coalesce documents and windows
+ var win;
+ if ( jQuery.isWindow( elem ) ) {
+ win = elem;
+ } else if ( elem.nodeType === 9 ) {
+ win = elem.defaultView;
+ }
if ( val === undefined ) {
return win ? win[ prop ] : elem[ method ];
@@ -10158,7 +10183,16 @@
}
} );
+jQuery.holdReady = function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+};
+jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
@@ -10214,7 +10248,6 @@
-
return jQuery;
} );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/assets/javascripts/jquery3.min.js new/vendor/assets/javascripts/jquery3.min.js
--- old/vendor/assets/javascripts/jquery3.min.js 2016-12-29 02:10:07.000000000 +0100
+++ new/vendor/assets/javascripts/jquery3.min.js 2017-03-21 19:39:19.000000000 +0100
@@ -1,4 +1,4 @@
-/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),
-a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:X.test(a)?JSON.parse(a):a)}function $(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=Z(c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),$(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=$(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var _=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,aa=new RegExp("^(?:([+-])=|)("+_+")([a-z%]*)$","i"),ba=["Top","Right","Bottom","Left"],ca=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function ea(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&aa.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var fa={};function ga(a){var b,c=a.ownerDocument,d=a.nodeName,e=fa[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),fa[d]=e,e)}function ha(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ca(d)&&(e[f]=ga(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ha(this,!0)},hide:function(){return ha(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ca(this)?r(this).show():r(this).hide()})}});var ia=/^(?:checkbox|radio)$/i,ja=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var oa=/<|&#?\w+;/;function pa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(oa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ja.exec(f)||["",""])[1].toLowerCase(),i=la[h]||la._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==wa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===wa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ua:va,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:va,isPropagationStopped:va,isImmediatePropagationStopped:va,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ua,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ua,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ua,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&ra.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&sa.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return xa(this,a,b,c,d)},one:function(a,b,c,d){return xa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=va),this.each(function(){r.event.remove(this,a,c,b)})}});var ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/<script|<style|<link/i,Aa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ba=/^true\/(.*)/,Ca=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ha(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ia(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,ma(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Fa),l=0;l<i;l++)j=h[l],ka.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ca,""),k))}return a}function Ja(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(ma(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&na(ma(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(ya,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);if(b)if(c)for(f=f||ma(a),g=g||ma(h),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);else Ga(a,h);return g=ma(h,"script"),g.length>0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(ma(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ia(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(ma(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ka=/^margin/,La=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),Ma=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",qa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,qa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Na(a,b,c){var d,e,f,g,h=a.style;return c=c||Ma(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&La.test(g)&&Ka.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Oa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Pa=/^(none|table(?!-c[ea]).+)/,Qa={position:"absolute",visibility:"hidden",display:"block"},Ra={letterSpacing:"0",fontWeight:"400"},Sa=["Webkit","Moz","ms"],Ta=d.createElement("div").style;function Ua(a){if(a in Ta)return a;var b=a[0].toUpperCase()+a.slice(1),c=Sa.length;while(c--)if(a=Sa[c]+b,a in Ta)return a}function Va(a,b,c){var d=aa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Wa(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ba[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ba[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ba[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ba[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ba[f]+"Width",!0,e)));return g}function Xa(a,b,c){var d,e=!0,f=Ma(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Na(a,b,f),(d<0||null==d)&&(d=a.style[b]),La.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Wa(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Na(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=aa.exec(c))&&e[1]&&(c=ea(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Na(a,b,d)),"normal"===e&&b in Ra&&(e=Ra[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Pa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Xa(a,b,d):da(a,Qa,function(){return Xa(a,b,d)})},set:function(a,c,d){var e,f=d&&Ma(a),g=d&&Wa(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=aa.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Va(a,c,g)}}}),r.cssHooks.marginLeft=Oa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Na(a,"marginLeft"))||a.getBoundingClientRect().left-da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ba[d]+b]=f[d]||f[d-2]||f[0];return e}},Ka.test(a)||(r.cssHooks[a+b].set=Va)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=Ma(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function fb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ca(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],_a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ha([a],!0),j=a.style.display||j,k=r.css(a,"display"),ha([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ha([a],!0),m.done(function(){p||ha([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=eb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function gb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function hb(a,b,c){var d,e,f=0,g=hb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Za||cb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Za||cb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(gb(k,j.opts.specialEasing);f<g;f++)if(d=hb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,eb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(hb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return ea(c.elem,a,aa.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],hb.tweeners[c]=hb.tweeners[c]||[],hb.tweeners[c].unshift(b)},prefilters:[fb],prefilter:function(a,b){b?hb.prefilters.unshift(a):hb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:"number"!=typeof e.duration&&(e.duration in r.fx.speeds?e.duration=r.fx.speeds[e.duration]:e.duration=r.fx.speeds._default),null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ca).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=hb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ab.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(db(b,!0),a,d,e)}}),r.each({slideDown:db("show"),slideUp:db("hide"),slideToggle:db("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Za=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Za=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){$a||($a=a.requestAnimationFrame?a.requestAnimationFrame(bb):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame($a):a.clearInterval($a),$a=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var ib,jb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)),
-void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=pa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=mb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||qa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Oa(o.pixelPosition,function(a,c){if(c)return c=Na(a,b),La.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
+/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
+a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
+null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/assets/javascripts/jquery3.min.map new/vendor/assets/javascripts/jquery3.min.map
--- old/vendor/assets/javascripts/jquery3.min.map 2016-12-29 02:10:07.000000000 +0100
+++ new/vendor/assets/javascripts/jquery3.min.map 2017-03-21 19:39:19.000000000 +0100
@@ -1 +1 @@
-{"version":3,"sources":["jquery-3.1.1.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","Array","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","nodeName","toLowerCase","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","holdReady","hold","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","content","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","getClientRects","getBoundingClientRect","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","timerId","rfxtypes","rrun","raf","requestAnimationFrame","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","hidden","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","timer","complete","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","cancelAnimationFrame","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","offsetWidth","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","getWindow","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","rect","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.1.1.min.js"}
\ No newline at end of file
+{"version":3,"sources":["jquery-3.2.1.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","float","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","complete","timer","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","offsetWidth","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.2.1.min.js"}
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package rubygem-raindrops for openSUSE:Factory checked in at 2017-03-31 15:07:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-raindrops (Old)
and /work/SRC/openSUSE:Factory/.rubygem-raindrops.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-raindrops"
Fri Mar 31 15:07:58 2017 rev:2 rq:482291 version:0.18.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-raindrops/rubygem-raindrops.changes 2016-09-21 18:47:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-raindrops.new/rubygem-raindrops.changes 2017-03-31 15:07:59.265106423 +0200
@@ -1,0 +2,48 @@
+Thu Mar 23 05:35:23 UTC 2017 - coolo(a)suse.com
+
+- updated to version 0.18.0
+ see installed NEWS
+
+ === raindrops 0.18.0 / 2017-03-23 02:44 UTC
+
+ The most notable feature of this release is the addition of
+ FreeBSD and OpenBSD TCP_INFO support. This includes the
+ Raindrops::TCP for portably mapping TCP state names to
+ platform-dependent numeric values:
+
+ https://bogomips.org/raindrops/Raindrops.html#TCP
+
+ Thanks to Jeremy Evans and Simon Eskildsen on the
+ unicorn-public(a)bogomips.org mailing list for inspiring
+ these changes to raindrops.
+
+ There's also a few internal cleanups, and documentation
+ improvements, including some fixes to the largely-forgotten
+ Raindrops::Aggreage::PMQ class:
+
+ https://bogomips.org/raindrops/Raindrops/Aggregate/PMQ.html
+
+ 20 changes since 0.17.0:
+
+ test_inet_diag_socket: fix Fixnum deprecation warning
+ TODO: add item for IPv6 breakage
+ ext: fix documentation for C ext-defined classes
+ TCP_Info: custom documentation for #get!
+ TypedData C-API conversion
+ test_watcher: disable test correctly when aggregate is missing
+ tcp_info: support this struct under FreeBSD
+ define Raindrops::TCP hash for TCP states
+ linux_inet_diag: reduce stack usage and simplify
+ avoid reading errno repeatedly
+ aggregate/pmq: avoid false sharing of lock buffers
+ aggregate/pmq: remove io-extra requirement
+ aggregate/pmq: avoid File#stat allocation
+ Merge remote-tracking branch 'origin/freebsd'
+ Merge remote-tracking branch 'origin/aggregate-pmq'
+ doc: remove private email support address
+ doc: update location of TCP_INFO-related stuff
+ build: avoid olddoc for building the RubyGem
+ doc: document Raindrops::TCP hash
+ aggregate/pmq: update version numbers for Ruby and Linux
+
+-------------------------------------------------------------------
Old:
----
raindrops-0.17.0.gem
New:
----
raindrops-0.18.0.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-raindrops.spec ++++++
--- /var/tmp/diff_new_pack.g7PCqC/_old 2017-03-31 15:07:59.841025001 +0200
+++ /var/tmp/diff_new_pack.g7PCqC/_new 2017-03-31 15:07:59.845024436 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-raindrops
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,12 +24,12 @@
#
Name: rubygem-raindrops
-Version: 0.17.0
+Version: 0.18.0
Release: 0
%define mod_name raindrops
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: %{rubydevel}
+BuildRequires: %{rubydevel >= 1.9.3}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: ruby-macros >= 5
Url: https://bogomips.org/raindrops/
++++++ raindrops-0.17.0.gem -> raindrops-0.18.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.document new/.document
--- old/.document 2016-07-31 17:20:21.000000000 +0200
+++ new/.document 2017-03-23 03:45:38.000000000 +0100
@@ -4,4 +4,4 @@
lib
ext/raindrops/raindrops.c
ext/raindrops/linux_inet_diag.c
-ext/raindrops/linux_tcp_info.c
+ext/raindrops/tcp_info.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.manifest new/.manifest
--- old/.manifest 2016-07-31 17:20:21.000000000 +0200
+++ new/.manifest 2017-03-23 03:45:38.000000000 +0100
@@ -22,10 +22,10 @@
examples/zbatery.conf.rb
ext/raindrops/extconf.rb
ext/raindrops/linux_inet_diag.c
-ext/raindrops/linux_tcp_info.c
ext/raindrops/my_fileno.h
ext/raindrops/raindrops.c
ext/raindrops/raindrops_atomic.h
+ext/raindrops/tcp_info.c
lib/raindrops.rb
lib/raindrops/aggregate.rb
lib/raindrops/aggregate/last_data_recv.rb
@@ -49,11 +49,11 @@
test/test_linux_all_tcp_listen_stats_leak.rb
test/test_linux_ipv6.rb
test/test_linux_middleware.rb
-test/test_linux_tcp_info.rb
test/test_middleware.rb
test/test_middleware_unicorn.rb
test/test_middleware_unicorn_ipv6.rb
test/test_raindrops.rb
test/test_raindrops_gc.rb
test/test_struct.rb
+test/test_tcp_info.rb
test/test_watcher.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.olddoc.yml new/.olddoc.yml
--- old/.olddoc.yml 2016-07-31 17:20:21.000000000 +0200
+++ new/.olddoc.yml 2017-03-23 03:45:38.000000000 +0100
@@ -3,7 +3,6 @@
git_url: git://bogomips.org/raindrops.git
rdoc_url: https://bogomips.org/raindrops/
public_email: raindrops-public(a)bogomips.org
-private_email: raindrops(a)bogomips.org
ml_url:
- https://bogomips.org/raindrops-public/
- http://ou63pmih66umazou.onion/raindrops-public
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GIT-VERSION-FILE new/GIT-VERSION-FILE
--- old/GIT-VERSION-FILE 2016-07-31 17:20:21.000000000 +0200
+++ new/GIT-VERSION-FILE 2017-03-23 03:45:38.000000000 +0100
@@ -1 +1 @@
-GIT_VERSION = 0.17.0
+GIT_VERSION = 0.18.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GIT-VERSION-GEN new/GIT-VERSION-GEN
--- old/GIT-VERSION-GEN 2016-07-31 17:20:21.000000000 +0200
+++ new/GIT-VERSION-GEN 2017-03-23 03:45:38.000000000 +0100
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v0.17.0
+DEF_VER=v0.18.0
LF='
'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LATEST new/LATEST
--- old/LATEST 2016-07-31 17:20:21.000000000 +0200
+++ new/LATEST 2017-03-23 03:45:38.000000000 +0100
@@ -1,17 +1,42 @@
-=== raindrops 0.17.0 - rack 2.x updates / 2016-07-31 15:19 UTC
+=== raindrops 0.18.0 / 2017-03-23 02:44 UTC
- This release features minor updates to support rack 2.x
- while maintaining support for rack 1.2 and later.
- As a result, Ruby 1.8.6 compatibility is gone, but
- Ruby 1.8.7 probably still works, for now.
-
- There's also a minor warning fix, doc updates, and
- the homepage now supports HTTPS (HTTP remains supported)
-
- 5 changes since raindrops 0.16.0:
- drop Rack::Utils.bytesize dependency
- gemspec: bump Rack dependency
- linux_inet_diag: GCC attribute format check
- use HTTPS and move homepage to https://bogomips.org/raindrops/
- examples: add yahns config, zbatery is abandoned
+ The most notable feature of this release is the addition of
+ FreeBSD and OpenBSD TCP_INFO support. This includes the
+ Raindrops::TCP for portably mapping TCP state names to
+ platform-dependent numeric values:
+
+ https://bogomips.org/raindrops/Raindrops.html#TCP
+
+ Thanks to Jeremy Evans and Simon Eskildsen on the
+ unicorn-public(a)bogomips.org mailing list for inspiring
+ these changes to raindrops.
+
+ There's also a few internal cleanups, and documentation
+ improvements, including some fixes to the largely-forgotten
+ Raindrops::Aggreage::PMQ class:
+
+ https://bogomips.org/raindrops/Raindrops/Aggregate/PMQ.html
+
+ 20 changes since 0.17.0:
+
+ test_inet_diag_socket: fix Fixnum deprecation warning
+ TODO: add item for IPv6 breakage
+ ext: fix documentation for C ext-defined classes
+ TCP_Info: custom documentation for #get!
+ TypedData C-API conversion
+ test_watcher: disable test correctly when aggregate is missing
+ tcp_info: support this struct under FreeBSD
+ define Raindrops::TCP hash for TCP states
+ linux_inet_diag: reduce stack usage and simplify
+ avoid reading errno repeatedly
+ aggregate/pmq: avoid false sharing of lock buffers
+ aggregate/pmq: remove io-extra requirement
+ aggregate/pmq: avoid File#stat allocation
+ Merge remote-tracking branch 'origin/freebsd'
+ Merge remote-tracking branch 'origin/aggregate-pmq'
+ doc: remove private email support address
+ doc: update location of TCP_INFO-related stuff
+ build: avoid olddoc for building the RubyGem
+ doc: document Raindrops::TCP hash
+ aggregate/pmq: update version numbers for Ruby and Linux
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NEWS new/NEWS
--- old/NEWS 2016-07-31 17:20:21.000000000 +0200
+++ new/NEWS 2017-03-23 03:45:38.000000000 +0100
@@ -1,3 +1,45 @@
+=== raindrops 0.18.0 / 2017-03-23 02:44 UTC
+
+ The most notable feature of this release is the addition of
+ FreeBSD and OpenBSD TCP_INFO support. This includes the
+ Raindrops::TCP for portably mapping TCP state names to
+ platform-dependent numeric values:
+
+ https://bogomips.org/raindrops/Raindrops.html#TCP
+
+ Thanks to Jeremy Evans and Simon Eskildsen on the
+ unicorn-public(a)bogomips.org mailing list for inspiring
+ these changes to raindrops.
+
+ There's also a few internal cleanups, and documentation
+ improvements, including some fixes to the largely-forgotten
+ Raindrops::Aggreage::PMQ class:
+
+ https://bogomips.org/raindrops/Raindrops/Aggregate/PMQ.html
+
+ 20 changes since 0.17.0:
+
+ test_inet_diag_socket: fix Fixnum deprecation warning
+ TODO: add item for IPv6 breakage
+ ext: fix documentation for C ext-defined classes
+ TCP_Info: custom documentation for #get!
+ TypedData C-API conversion
+ test_watcher: disable test correctly when aggregate is missing
+ tcp_info: support this struct under FreeBSD
+ define Raindrops::TCP hash for TCP states
+ linux_inet_diag: reduce stack usage and simplify
+ avoid reading errno repeatedly
+ aggregate/pmq: avoid false sharing of lock buffers
+ aggregate/pmq: remove io-extra requirement
+ aggregate/pmq: avoid File#stat allocation
+ Merge remote-tracking branch 'origin/freebsd'
+ Merge remote-tracking branch 'origin/aggregate-pmq'
+ doc: remove private email support address
+ doc: update location of TCP_INFO-related stuff
+ build: avoid olddoc for building the RubyGem
+ doc: document Raindrops::TCP hash
+ aggregate/pmq: update version numbers for Ruby and Linux
+
=== raindrops 0.17.0 - rack 2.x updates / 2016-07-31 15:19 UTC
This release features minor updates to support rack 2.x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README new/README
--- old/README 2016-07-31 17:20:21.000000000 +0200
+++ new/README 2017-03-23 03:45:38.000000000 +0100
@@ -58,7 +58,8 @@
See Raindrops::Middleware and Raindrops::LastDataRecv documentation for
use Rack servers. The entire library is fully-documented and we are
-responsive on the mailing list (mailto:raindrops-public@bogomips.org) if
+responsive on the publically archived mailing list
+(mailto:raindrops-public@bogomips.org) if
you have any questions or comments.
== Development
@@ -88,9 +89,13 @@
== Contact
All feedback (bug reports, user/development discussion, patches, pull
-requests) go to the mailing list: mailto:raindrops-public@bogomips.org
+requests) go to the publically archived mailing list:
+mailto:raindrops-public@bogomips.org
Mailing list archives are available over HTTPS and NNTP:
* https://bogomips.org/raindrops-public/
* nntp://news.public-inbox.org/inbox.comp.lang.ruby.raindrops
+
+Since archives are public, scrub sensitive information and
+use anonymity tools such as Tor or Mixmaster if you deem necessary.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/TODO new/TODO
--- old/TODO 2016-07-31 17:20:21.000000000 +0200
+++ new/TODO 2017-03-23 03:45:38.000000000 +0100
@@ -1,2 +1,3 @@
+* fix IPv6 inet_diag reporting for Raindrops::Middleware
* pure Ruby version for non-forking servers (patches welcome!)
* unix_diag and udp_diag support
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/raindrops/extconf.rb new/ext/raindrops/extconf.rb
--- old/ext/raindrops/extconf.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/ext/raindrops/extconf.rb 2017-03-23 03:45:38.000000000 +0100
@@ -1,4 +1,5 @@
require 'mkmf'
+require 'shellwords'
dir_config('atomic_ops')
have_func('mmap', 'sys/mman.h') or abort 'mmap() not found'
@@ -6,9 +7,110 @@
$CPPFLAGS += " -D_GNU_SOURCE "
have_func('mremap', 'sys/mman.h')
-have_header('linux/tcp.h')
+headers = %w(sys/types.h netdb.h string.h sys/socket.h netinet/in.h)
+if have_header('linux/tcp.h')
+ headers << 'linux/tcp.h'
+else
+ %w(netinet/tcp.h netinet/tcp_fsm.h).each { |h|
+ have_header(h, headers) and headers << h
+ }
+end
$CPPFLAGS += " -D_BSD_SOURCE "
+
+if have_type("struct tcp_info", headers)
+ %w(
+ tcpi_state
+ tcpi_ca_state
+ tcpi_retransmits
+ tcpi_probes
+ tcpi_backoff
+ tcpi_options
+ tcpi_snd_wscale
+ tcpi_rcv_wscale
+ tcpi_rto
+ tcpi_ato
+ tcpi_snd_mss
+ tcpi_rcv_mss
+ tcpi_unacked
+ tcpi_sacked
+ tcpi_lost
+ tcpi_retrans
+ tcpi_fackets
+ tcpi_last_data_sent
+ tcpi_last_ack_sent
+ tcpi_last_data_recv
+ tcpi_last_ack_recv
+ tcpi_pmtu
+ tcpi_rcv_ssthresh
+ tcpi_rtt
+ tcpi_rttvar
+ tcpi_snd_ssthresh
+ tcpi_snd_cwnd
+ tcpi_advmss
+ tcpi_reordering
+ tcpi_rcv_rtt
+ tcpi_rcv_space
+ tcpi_total_retrans
+ tcpi_snd_wnd
+ tcpi_snd_bwnd
+ tcpi_snd_nxt
+ tcpi_rcv_nxt
+ tcpi_toe_tid
+ tcpi_snd_rexmitpack
+ tcpi_rcv_ooopack
+ tcpi_snd_zerowin
+ ).each do |field|
+ cfunc = "tcp_info_#{field}"
+ if have_struct_member('struct tcp_info', field, headers)
+ func_body = <<EOF
+static VALUE #{cfunc}(VALUE self)
+{
+ struct tcp_info *info = DATA_PTR(self);
+ return UINT2NUM((uint32_t)info->#{field});
+}
+EOF
+ func_body.delete!("\n")
+ $defs << "-DCFUNC_#{cfunc}=#{Shellwords.shellescape(func_body)}"
+ else
+ func_body = "static inline void #{cfunc}(void) {}"
+ $defs << "-DCFUNC_#{cfunc}=#{Shellwords.shellescape(func_body)}"
+ cfunc = 'rb_f_notimplement'.freeze
+ end
+ rbmethod = %Q("#{field.sub(/\Atcpi_/, ''.freeze)}")
+ $defs << "-DDEFINE_METHOD_tcp_info_#{field}=" \
+ "#{Shellwords.shellescape(
+ %Q[rb_define_method(cTCP_Info,#{rbmethod},#{cfunc},0)])}"
+ end
+ tcp_state_map = {
+ ESTABLISHED: %w(TCP_ESTABLISHED TCPS_ESTABLISHED),
+ SYN_SENT: %w(TCP_SYN_SENT TCPS_SYN_SENT),
+ SYN_RECV: %w(TCP_SYN_RECV TCPS_SYN_RECEIVED),
+ FIN_WAIT1: %w(TCP_FIN_WAIT1 TCPS_FIN_WAIT_1),
+ FIN_WAIT2: %w(TCP_FIN_WAIT2 TCPS_FIN_WAIT_2),
+ TIME_WAIT: %w(TCP_TIME_WAIT TCPS_TIME_WAIT),
+ CLOSE: %w(TCP_CLOSE TCPS_CLOSED),
+ CLOSE_WAIT: %w(TCP_CLOSE_WAIT TCPS_CLOSE_WAIT),
+ LAST_ACK: %w(TCP_LAST_ACK TCPS_LAST_ACK),
+ LISTEN: %w(TCP_LISTEN TCPS_LISTEN),
+ CLOSING: %w(TCP_CLOSING TCPS_CLOSING),
+ }
+ nstate = 0
+ tcp_state_map.each do |state, try|
+ try.each do |os_name|
+ have_const(os_name, headers) or next
+ tcp_state_map[state] = os_name
+ nstate += 1
+ end
+ end
+ if nstate == tcp_state_map.size
+ $defs << '-DRAINDROPS_TCP_STATES_ALL_KNOWN=1'
+ tcp_state_map.each do |state, name|
+ $defs << "-DRAINDROPS_TCP_#{state}=#{name}"
+ end
+ end
+end
+
have_func("getpagesize", "unistd.h")
have_func('rb_thread_blocking_region')
have_func('rb_thread_io_blocking_region')
@@ -53,4 +155,5 @@
apt-get install libatomic-ops-dev
SRC
+create_header # generate extconf.h to avoid excessively long command-line
create_makefile('raindrops_ext')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/raindrops/linux_inet_diag.c new/ext/raindrops/linux_inet_diag.c
--- old/ext/raindrops/linux_inet_diag.c 2016-07-31 17:20:21.000000000 +0200
+++ new/ext/raindrops/linux_inet_diag.c 2017-03-23 03:45:38.000000000 +0100
@@ -233,80 +233,70 @@
static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r)
{
- char *key, *port, *old_key;
+ char *host, *key, *port, *old_key;
size_t alloca_len;
struct listen_stats *stats;
- socklen_t keylen;
+ socklen_t hostlen;
socklen_t portlen = (socklen_t)sizeof("65535");
- union any_addr sa;
- socklen_t len = sizeof(struct sockaddr_storage);
- int rc;
- int flags = NI_NUMERICHOST | NI_NUMERICSERV;
+ int n;
+ const void *src = r->id.idiag_src;
- switch ((sa.ss.ss_family = r->idiag_family)) {
+ switch (r->idiag_family) {
case AF_INET: {
- sa.in.sin_port = r->id.idiag_sport;
- sa.in.sin_addr.s_addr = r->id.idiag_src[0];
- keylen = INET_ADDRSTRLEN;
- alloca_len = keylen + 1 + portlen;
- key = alloca(alloca_len);
- key[keylen] = 0; /* will be ':' later */
- port = key + keylen + 1;
- rc = getnameinfo(&sa.sa, len,
- key, keylen, port, portlen, flags);
+ hostlen = INET_ADDRSTRLEN;
+ alloca_len = hostlen + portlen;
+ host = key = alloca(alloca_len);
break;
}
case AF_INET6: {
- sa.in6.sin6_port = r->id.idiag_sport;
- memcpy(&sa.in6.sin6_addr, &r->id.idiag_src, sizeof(__be32[4]));
- keylen = INET6_ADDRSTRLEN;
- /* [ ] */
- alloca_len = 1 + keylen + 1 + 1 + portlen;
+ hostlen = INET6_ADDRSTRLEN;
+ alloca_len = 1 + hostlen + 1 + portlen;
key = alloca(alloca_len);
- *key = '[';
- key[1 + keylen + 1] = 0; /* will be ':' later */
- port = 1 + key + keylen + 1 + 1;
- rc = getnameinfo(&sa.sa, len,
- key + 1, keylen, port, portlen, flags);
+ host = key + 1;
break;
}
default:
assert(0 && "unsupported address family, could that be IPv7?!");
}
- if (rc != 0) {
- bug_warn_nogvl("BUG: getnameinfo: %s\n", gai_strerror(rc));
- *key = 0;
+ if (!inet_ntop(r->idiag_family, src, host, hostlen)) {
+ bug_warn_nogvl("BUG: inet_ntop: %s\n", strerror(errno));
+ *key = '\0';
+ *host = '\0';
}
-
- keylen = (socklen_t)strlen(key);
- portlen = (socklen_t)strlen(port);
-
- switch (sa.ss.ss_family) {
+ hostlen = (socklen_t)strlen(host);
+ switch (r->idiag_family) {
case AF_INET:
- key[keylen] = ':';
- memmove(key + keylen + 1, port, portlen + 1);
+ host[hostlen] = ':';
+ port = host + hostlen + 1;
break;
case AF_INET6:
- key[keylen] = ']';
- key[keylen + 1] = ':';
- memmove(key + keylen + 2, port, portlen + 1);
- keylen++;
+ key[0] = '[';
+ host[hostlen] = ']';
+ host[hostlen + 1] = ':';
+ port = host + hostlen + 2;
break;
default:
assert(0 && "unsupported address family, could that be IPv7?!");
}
+ n = snprintf(port, portlen, "%u", ntohs(r->id.idiag_sport));
+ if (n <= 0) {
+ bug_warn_nogvl("BUG: snprintf port: %d\n", n);
+ *key = '\0';
+ }
+
if (st_lookup(table, (st_data_t)key, (st_data_t *)&stats))
return stats;
old_key = key;
if (r->idiag_state == TCP_ESTABLISHED) {
- int n = snprintf(key, alloca_len, "%s:%u",
- addr_any(sa.ss.ss_family),
+ n = snprintf(key, alloca_len, "%s:%u",
+ addr_any(r->idiag_family),
ntohs(r->id.idiag_sport));
if (n <= 0) {
bug_warn_nogvl("BUG: snprintf: %d\n", n);
+ *key = '\0';
}
if (st_lookup(table, (st_data_t)key, (st_data_t *)&stats))
return stats;
@@ -319,8 +309,9 @@
memcpy(key, old_key, n + 1);
}
} else {
- key = xmalloc(keylen + 1 + portlen + 1);
- memcpy(key, old_key, keylen + 1 + portlen + 1);
+ size_t old_len = strlen(old_key) + 1;
+ key = xmalloc(old_len);
+ memcpy(key, old_key, old_len);
}
stats = xcalloc(1, sizeof(struct listen_stats));
st_insert(table, (st_data_t)key, (st_data_t)stats);
@@ -709,11 +700,12 @@
void Init_raindrops_linux_inet_diag(void)
{
- VALUE cRaindrops = rb_const_get(rb_cObject, rb_intern("Raindrops"));
+ VALUE cRaindrops = rb_define_class("Raindrops", rb_cObject);
VALUE mLinux = rb_define_module_under(cRaindrops, "Linux");
+ VALUE Socket;
rb_require("socket");
- cIDSock = rb_const_get(rb_cObject, rb_intern("Socket"));
+ Socket = rb_const_get(rb_cObject, rb_intern("Socket"));
id_new = rb_intern("new");
/*
@@ -722,7 +714,7 @@
* This is a subclass of +Socket+ specifically for talking
* to the inet_diag facility of Netlink.
*/
- cIDSock = rb_define_class_under(cRaindrops, "InetDiagSocket", cIDSock);
+ cIDSock = rb_define_class_under(cRaindrops, "InetDiagSocket", Socket);
rb_define_singleton_method(cIDSock, "new", ids_s_new, 0);
cListenStats = rb_const_get(cRaindrops, rb_intern("ListenStats"));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/raindrops/linux_tcp_info.c new/ext/raindrops/linux_tcp_info.c
--- old/ext/raindrops/linux_tcp_info.c 2016-07-31 17:20:21.000000000 +0200
+++ new/ext/raindrops/linux_tcp_info.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,173 +0,0 @@
-#if defined(__linux__) && defined(HAVE_LINUX_TCP_H)
-#include <ruby.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <linux/tcp.h>
-#ifdef TCP_INFO
-#include "my_fileno.h"
-
-#define TCPI_ATTR_READER(x) \
-static VALUE tcp_info_##x(VALUE self) \
-{ \
- struct tcp_info *info = DATA_PTR(self); \
- return UINT2NUM((uint32_t)info->tcpi_##x); \
-}
-
-TCPI_ATTR_READER(state)
-TCPI_ATTR_READER(ca_state)
-TCPI_ATTR_READER(retransmits)
-TCPI_ATTR_READER(probes)
-TCPI_ATTR_READER(backoff)
-TCPI_ATTR_READER(options)
-TCPI_ATTR_READER(snd_wscale)
-TCPI_ATTR_READER(rcv_wscale)
-TCPI_ATTR_READER(rto)
-TCPI_ATTR_READER(ato)
-TCPI_ATTR_READER(snd_mss)
-TCPI_ATTR_READER(rcv_mss)
-TCPI_ATTR_READER(unacked)
-TCPI_ATTR_READER(sacked)
-TCPI_ATTR_READER(lost)
-TCPI_ATTR_READER(retrans)
-TCPI_ATTR_READER(fackets)
-TCPI_ATTR_READER(last_data_sent)
-TCPI_ATTR_READER(last_ack_sent)
-TCPI_ATTR_READER(last_data_recv)
-TCPI_ATTR_READER(last_ack_recv)
-TCPI_ATTR_READER(pmtu)
-TCPI_ATTR_READER(rcv_ssthresh)
-TCPI_ATTR_READER(rtt)
-TCPI_ATTR_READER(rttvar)
-TCPI_ATTR_READER(snd_ssthresh)
-TCPI_ATTR_READER(snd_cwnd)
-TCPI_ATTR_READER(advmss)
-TCPI_ATTR_READER(reordering)
-TCPI_ATTR_READER(rcv_rtt)
-TCPI_ATTR_READER(rcv_space)
-TCPI_ATTR_READER(total_retrans)
-
-static VALUE alloc(VALUE klass)
-{
- struct tcp_info *info = xmalloc(sizeof(struct tcp_info));
-
- /* Data_Make_Struct has an extra memset 0 which is so wasteful */
- return Data_Wrap_Struct(klass, NULL, -1, info);
-}
-
-/*
- * call-seq:
- *
- * Raindrops::TCP_Info.new(tcp_socket) -> TCP_Info object
- *
- * Reads a TCP_Info object from any given +tcp_socket+. See the tcp(7)
- * manpage and /usr/include/linux/tcp.h for more details.
- */
-static VALUE init(VALUE self, VALUE io)
-{
- int fd = my_fileno(io);
- struct tcp_info *info = DATA_PTR(self);
- socklen_t len = (socklen_t)sizeof(struct tcp_info);
- int rc = getsockopt(fd, IPPROTO_TCP, TCP_INFO, info, &len);
-
- if (rc != 0)
- rb_sys_fail("getsockopt");
-
- return self;
-}
-
-void Init_raindrops_linux_tcp_info(void)
-{
- VALUE cRaindrops = rb_const_get(rb_cObject, rb_intern("Raindrops"));
- VALUE cTCP_Info;
-
- /*
- * Document-class: Raindrops::TCP_Info
- *
- * This is used to wrap "struct tcp_info" as described in tcp(7)
- * and /usr/include/linux/tcp.h. The following readers methods
- * are defined corresponding to the "tcpi_" fields in the
- * tcp_info struct.
- *
- * In particular, the +last_data_recv+ field is useful for measuring
- * the amount of time a client spent in the listen queue before
- * +accept()+, but only if +TCP_DEFER_ACCEPT+ is used with the
- * listen socket (it is on by default in Unicorn).
- *
- * - state
- * - ca_state
- * - retransmits
- * - probes
- * - backoff
- * - options
- * - snd_wscale
- * - rcv_wscale
- * - rto
- * - ato
- * - snd_mss
- * - rcv_mss
- * - unacked
- * - sacked
- * - lost
- * - retrans
- * - fackets
- * - last_data_sent
- * - last_ack_sent
- * - last_data_recv
- * - last_ack_recv
- * - pmtu
- * - rcv_ssthresh
- * - rtt
- * - rttvar
- * - snd_ssthresh
- * - snd_cwnd
- * - advmss
- * - reordering
- * - rcv_rtt
- * - rcv_space
- * - total_retrans
- *
- * https://kernel.org/doc/man-pages/online/pages/man7/tcp.7.html
- */
- cTCP_Info = rb_define_class_under(cRaindrops, "TCP_Info", rb_cObject);
- rb_define_alloc_func(cTCP_Info, alloc);
- rb_define_private_method(cTCP_Info, "initialize", init, 1);
- rb_define_method(cTCP_Info, "get!", init, 1);
-
-#define TCPI_DEFINE_METHOD(x) \
- rb_define_method(cTCP_Info, #x, tcp_info_##x, 0)
-
- TCPI_DEFINE_METHOD(state);
- TCPI_DEFINE_METHOD(ca_state);
- TCPI_DEFINE_METHOD(retransmits);
- TCPI_DEFINE_METHOD(probes);
- TCPI_DEFINE_METHOD(backoff);
- TCPI_DEFINE_METHOD(options);
- TCPI_DEFINE_METHOD(snd_wscale);
- TCPI_DEFINE_METHOD(rcv_wscale);
- TCPI_DEFINE_METHOD(rto);
- TCPI_DEFINE_METHOD(ato);
- TCPI_DEFINE_METHOD(snd_mss);
- TCPI_DEFINE_METHOD(rcv_mss);
- TCPI_DEFINE_METHOD(unacked);
- TCPI_DEFINE_METHOD(sacked);
- TCPI_DEFINE_METHOD(lost);
- TCPI_DEFINE_METHOD(retrans);
- TCPI_DEFINE_METHOD(fackets);
- TCPI_DEFINE_METHOD(last_data_sent);
- TCPI_DEFINE_METHOD(last_ack_sent);
- TCPI_DEFINE_METHOD(last_data_recv);
- TCPI_DEFINE_METHOD(last_ack_recv);
- TCPI_DEFINE_METHOD(pmtu);
- TCPI_DEFINE_METHOD(rcv_ssthresh);
- TCPI_DEFINE_METHOD(rtt);
- TCPI_DEFINE_METHOD(rttvar);
- TCPI_DEFINE_METHOD(snd_ssthresh);
- TCPI_DEFINE_METHOD(snd_cwnd);
- TCPI_DEFINE_METHOD(advmss);
- TCPI_DEFINE_METHOD(reordering);
- TCPI_DEFINE_METHOD(rcv_rtt);
- TCPI_DEFINE_METHOD(rcv_space);
- TCPI_DEFINE_METHOD(total_retrans);
-}
-#endif /* TCP_INFO */
-#endif /* defined(__linux__) && defined(HAVE_LINUX_TCP_H) */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/raindrops/raindrops.c new/ext/raindrops/raindrops.c
--- old/ext/raindrops/raindrops.c 2016-07-31 17:20:21.000000000 +0200
+++ new/ext/raindrops/raindrops.c 2017-03-23 03:45:38.000000000 +0100
@@ -38,7 +38,7 @@
};
/* called by GC */
-static void gcfree(void *ptr)
+static void rd_free(void *ptr)
{
struct raindrops *r = ptr;
@@ -51,11 +51,24 @@
xfree(ptr);
}
+static size_t rd_memsize(const void *ptr)
+{
+ const struct raindrops *r = ptr;
+
+ return r->drops == MAP_FAILED ? 0 : raindrop_size * r->capa;
+}
+
+static const rb_data_type_t rd_type = {
+ "raindrops",
+ { NULL, rd_free, rd_memsize, /* reserved */ },
+ /* parent, data, [ flags ] */
+};
+
/* automatically called at creation (before initialize) */
static VALUE alloc(VALUE klass)
{
struct raindrops *r;
- VALUE rv = Data_Make_Struct(klass, struct raindrops, NULL, gcfree, r);
+ VALUE rv = TypedData_Make_Struct(klass, struct raindrops, &rd_type, r);
r->drops = MAP_FAILED;
return rv;
@@ -65,7 +78,7 @@
{
struct raindrops *r;
- Data_Get_Struct(self, struct raindrops, r);
+ TypedData_Get_Struct(self, struct raindrops, &rd_type, r);
if (r->drops == MAP_FAILED)
rb_raise(rb_eStandardError, "invalid or freed Raindrops");
@@ -104,7 +117,9 @@
r->drops = mmap(NULL, tmp,
PROT_READ|PROT_WRITE, MAP_ANON|MAP_SHARED, -1, 0);
if (r->drops == MAP_FAILED) {
- if ((errno == EAGAIN || errno == ENOMEM) && tries-- > 0) {
+ int err = errno;
+
+ if ((err == EAGAIN || err == ENOMEM) && tries-- > 0) {
rb_gc();
goto retry;
}
@@ -140,7 +155,9 @@
rv = mremap(old_address, old_size, new_size, MREMAP_MAYMOVE);
if (rv == MAP_FAILED) {
- if (errno == EAGAIN || errno == ENOMEM) {
+ int err = errno;
+
+ if (err == EAGAIN || err == ENOMEM) {
rb_gc();
rv = mremap(old_address, old_size, new_size, 0);
}
@@ -323,7 +340,9 @@
#ifdef __linux__
void Init_raindrops_linux_inet_diag(void);
-void Init_raindrops_linux_tcp_info(void);
+#endif
+#ifdef HAVE_TYPE_STRUCT_TCP_INFO
+void Init_raindrops_tcp_info(void);
#endif
#ifndef _SC_NPROCESSORS_CONF
@@ -428,6 +447,8 @@
#ifdef __linux__
Init_raindrops_linux_inet_diag();
- Init_raindrops_linux_tcp_info();
+#endif
+#ifdef HAVE_TYPE_STRUCT_TCP_INFO
+ Init_raindrops_tcp_info();
#endif
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/raindrops/tcp_info.c new/ext/raindrops/tcp_info.c
--- old/ext/raindrops/tcp_info.c 1970-01-01 01:00:00.000000000 +0100
+++ new/ext/raindrops/tcp_info.c 2017-03-23 03:45:38.000000000 +0100
@@ -0,0 +1,246 @@
+#include <ruby.h>
+#include "extconf.h"
+#include <sys/socket.h>
+#include <netinet/in.h>
+#if defined(HAVE_LINUX_TCP_H)
+# include <linux/tcp.h>
+#else
+# if defined(HAVE_NETINET_TCP_H)
+# include <netinet/tcp.h>
+# endif
+# if defined(HAVE_NETINET_TCP_FSM_H)
+# include <netinet/tcp_fsm.h>
+# endif
+#endif
+
+#ifdef HAVE_TYPE_STRUCT_TCP_INFO
+#include "my_fileno.h"
+
+CFUNC_tcp_info_tcpi_state
+CFUNC_tcp_info_tcpi_ca_state
+CFUNC_tcp_info_tcpi_retransmits
+CFUNC_tcp_info_tcpi_probes
+CFUNC_tcp_info_tcpi_backoff
+CFUNC_tcp_info_tcpi_options
+CFUNC_tcp_info_tcpi_snd_wscale
+CFUNC_tcp_info_tcpi_rcv_wscale
+CFUNC_tcp_info_tcpi_rto
+CFUNC_tcp_info_tcpi_ato
+CFUNC_tcp_info_tcpi_snd_mss
+CFUNC_tcp_info_tcpi_rcv_mss
+CFUNC_tcp_info_tcpi_unacked
+CFUNC_tcp_info_tcpi_sacked
+CFUNC_tcp_info_tcpi_lost
+CFUNC_tcp_info_tcpi_retrans
+CFUNC_tcp_info_tcpi_fackets
+CFUNC_tcp_info_tcpi_last_data_sent
+CFUNC_tcp_info_tcpi_last_ack_sent
+CFUNC_tcp_info_tcpi_last_data_recv
+CFUNC_tcp_info_tcpi_last_ack_recv
+CFUNC_tcp_info_tcpi_pmtu
+CFUNC_tcp_info_tcpi_rcv_ssthresh
+CFUNC_tcp_info_tcpi_rtt
+CFUNC_tcp_info_tcpi_rttvar
+CFUNC_tcp_info_tcpi_snd_ssthresh
+CFUNC_tcp_info_tcpi_snd_cwnd
+CFUNC_tcp_info_tcpi_advmss
+CFUNC_tcp_info_tcpi_reordering
+CFUNC_tcp_info_tcpi_rcv_rtt
+CFUNC_tcp_info_tcpi_rcv_space
+CFUNC_tcp_info_tcpi_total_retrans
+
+static size_t tcpi_memsize(const void *ptr)
+{
+ return sizeof(struct tcp_info);
+}
+
+static const rb_data_type_t tcpi_type = {
+ "tcp_info",
+ { NULL, RUBY_TYPED_DEFAULT_FREE, tcpi_memsize, /* reserved */ },
+ /* parent, data, [ flags ] */
+};
+
+static VALUE alloc(VALUE klass)
+{
+ struct tcp_info *info;
+
+ return TypedData_Make_Struct(klass, struct tcp_info, &tcpi_type, info);
+}
+
+/*
+ * call-seq:
+ *
+ * Raindrops::TCP_Info.new(tcp_socket) -> TCP_Info object
+ *
+ * Reads a TCP_Info object from any given +tcp_socket+. See the tcp(7)
+ * manpage and /usr/include/linux/tcp.h for more details.
+ */
+static VALUE init(VALUE self, VALUE io)
+{
+ int fd = my_fileno(io);
+ struct tcp_info *info = DATA_PTR(self);
+ socklen_t len = (socklen_t)sizeof(struct tcp_info);
+ int rc = getsockopt(fd, IPPROTO_TCP, TCP_INFO, info, &len);
+
+ if (rc != 0)
+ rb_sys_fail("getsockopt");
+
+ return self;
+}
+
+void Init_raindrops_tcp_info(void)
+{
+ VALUE cRaindrops = rb_define_class("Raindrops", rb_cObject);
+ VALUE cTCP_Info;
+
+ /*
+ * Document-class: Raindrops::TCP_Info
+ *
+ * This is used to wrap "struct tcp_info" as described in tcp(7)
+ * and /usr/include/linux/tcp.h. The following readers methods
+ * are defined corresponding to the "tcpi_" fields in the
+ * tcp_info struct.
+ *
+ * As of raindrops 0.18.0+, this is supported on FreeBSD and OpenBSD
+ * systems as well as Linux, although not all fields exist or
+ * match the documentation, below.
+ *
+ * In particular, the +last_data_recv+ field is useful for measuring
+ * the amount of time a client spent in the listen queue before
+ * +accept()+, but only if +TCP_DEFER_ACCEPT+ is used with the
+ * listen socket (it is on by default in Unicorn).
+ *
+ * - state
+ * - ca_state
+ * - retransmits
+ * - probes
+ * - backoff
+ * - options
+ * - snd_wscale
+ * - rcv_wscale
+ * - rto
+ * - ato
+ * - snd_mss
+ * - rcv_mss
+ * - unacked
+ * - sacked
+ * - lost
+ * - retrans
+ * - fackets
+ * - last_data_sent
+ * - last_ack_sent
+ * - last_data_recv
+ * - last_ack_recv
+ * - pmtu
+ * - rcv_ssthresh
+ * - rtt
+ * - rttvar
+ * - snd_ssthresh
+ * - snd_cwnd
+ * - advmss
+ * - reordering
+ * - rcv_rtt
+ * - rcv_space
+ * - total_retrans
+ *
+ * https://kernel.org/doc/man-pages/online/pages/man7/tcp.7.html
+ */
+ cTCP_Info = rb_define_class_under(cRaindrops, "TCP_Info", rb_cObject);
+ rb_define_alloc_func(cTCP_Info, alloc);
+ rb_define_private_method(cTCP_Info, "initialize", init, 1);
+
+ /*
+ * Document-method: Raindrops::TCP_Info#get!
+ *
+ * call-seq:
+ *
+ * info = Raindrops::TCP_Info.new(tcp_socket)
+ * info.get!(tcp_socket)
+ *
+ * Update an existing TCP_Info objects with the latest stats
+ * from the given socket. This even allows sharing TCP_Info
+ * objects between different sockets to avoid garbage.
+ */
+ rb_define_method(cTCP_Info, "get!", init, 1);
+
+ DEFINE_METHOD_tcp_info_tcpi_state;
+ DEFINE_METHOD_tcp_info_tcpi_ca_state;
+ DEFINE_METHOD_tcp_info_tcpi_retransmits;
+ DEFINE_METHOD_tcp_info_tcpi_probes;
+ DEFINE_METHOD_tcp_info_tcpi_backoff;
+ DEFINE_METHOD_tcp_info_tcpi_options;
+ DEFINE_METHOD_tcp_info_tcpi_snd_wscale;
+ DEFINE_METHOD_tcp_info_tcpi_rcv_wscale;
+ DEFINE_METHOD_tcp_info_tcpi_rto;
+ DEFINE_METHOD_tcp_info_tcpi_ato;
+ DEFINE_METHOD_tcp_info_tcpi_snd_mss;
+ DEFINE_METHOD_tcp_info_tcpi_rcv_mss;
+ DEFINE_METHOD_tcp_info_tcpi_unacked;
+ DEFINE_METHOD_tcp_info_tcpi_sacked;
+ DEFINE_METHOD_tcp_info_tcpi_lost;
+ DEFINE_METHOD_tcp_info_tcpi_retrans;
+ DEFINE_METHOD_tcp_info_tcpi_fackets;
+ DEFINE_METHOD_tcp_info_tcpi_last_data_sent;
+ DEFINE_METHOD_tcp_info_tcpi_last_ack_sent;
+ DEFINE_METHOD_tcp_info_tcpi_last_data_recv;
+ DEFINE_METHOD_tcp_info_tcpi_last_ack_recv;
+ DEFINE_METHOD_tcp_info_tcpi_pmtu;
+ DEFINE_METHOD_tcp_info_tcpi_rcv_ssthresh;
+ DEFINE_METHOD_tcp_info_tcpi_rtt;
+ DEFINE_METHOD_tcp_info_tcpi_rttvar;
+ DEFINE_METHOD_tcp_info_tcpi_snd_ssthresh;
+ DEFINE_METHOD_tcp_info_tcpi_snd_cwnd;
+ DEFINE_METHOD_tcp_info_tcpi_advmss;
+ DEFINE_METHOD_tcp_info_tcpi_reordering;
+ DEFINE_METHOD_tcp_info_tcpi_rcv_rtt;
+ DEFINE_METHOD_tcp_info_tcpi_rcv_space;
+ DEFINE_METHOD_tcp_info_tcpi_total_retrans;
+
+#ifdef RAINDROPS_TCP_STATES_ALL_KNOWN
+
+ /*
+ * Document-const: Raindrops::TCP
+ *
+ * This is a frozen hash storing the numeric values
+ * maps platform-independent symbol keys to
+ * platform-dependent numeric values. These states
+ * are all valid values for the Raindrops::TCP_Info#state field.
+ *
+ * The platform-independent names of the keys in this hash are:
+ *
+ * - :ESTABLISHED
+ * - :SYN_SENT
+ * - :SYN_RECV
+ * - :FIN_WAIT1
+ * - :FIN_WAIT2
+ * - :TIME_WAIT
+ * - :CLOSE
+ * - :CLOSE_WAIT
+ * - :LAST_ACK
+ * - :LISTEN
+ * - :CLOSING
+ *
+ * This is only supported on platforms where TCP_Info is supported,
+ * currently FreeBSD, OpenBSD, and Linux-based systems.
+ */
+ {
+#define TCPSET(n,v) rb_hash_aset(tcp, ID2SYM(rb_intern(#n)), INT2NUM(v))
+ VALUE tcp = rb_hash_new();
+ TCPSET(ESTABLISHED, RAINDROPS_TCP_ESTABLISHED);
+ TCPSET(SYN_SENT, RAINDROPS_TCP_SYN_SENT);
+ TCPSET(SYN_RECV, RAINDROPS_TCP_SYN_RECV);
+ TCPSET(FIN_WAIT1, RAINDROPS_TCP_FIN_WAIT1);
+ TCPSET(FIN_WAIT2, RAINDROPS_TCP_FIN_WAIT2);
+ TCPSET(TIME_WAIT, RAINDROPS_TCP_TIME_WAIT);
+ TCPSET(CLOSE, RAINDROPS_TCP_CLOSE);
+ TCPSET(CLOSE_WAIT, RAINDROPS_TCP_CLOSE_WAIT);
+ TCPSET(LAST_ACK, RAINDROPS_TCP_LAST_ACK);
+ TCPSET(LISTEN, RAINDROPS_TCP_LISTEN);
+ TCPSET(CLOSING, RAINDROPS_TCP_CLOSING);
+#undef TCPSET
+ OBJ_FREEZE(tcp);
+ rb_define_const(cRaindrops, "TCP", tcp);
+ }
+#endif
+}
+#endif /* HAVE_STRUCT_TCP_INFO */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/raindrops/aggregate/pmq.rb new/lib/raindrops/aggregate/pmq.rb
--- old/lib/raindrops/aggregate/pmq.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/lib/raindrops/aggregate/pmq.rb 2017-03-23 03:45:38.000000000 +0100
@@ -3,10 +3,10 @@
require "aggregate"
require "posix_mq"
require "fcntl"
-require "io/extra"
require "thread"
+require "stringio"
-# \Aggregate + POSIX message queues support for Ruby 1.9 and \Linux
+# \Aggregate + POSIX message queues support for Ruby 1.9+ and \Linux
#
# This class is duck-type compatible with \Aggregate and allows us to
# aggregate and share statistics from multiple processes/threads aided
@@ -14,12 +14,11 @@
# Raindrops::LastDataRecv Rack application, but can be used independently
# on compatible Runtimes.
#
-# Unlike the core of raindrops, this is only supported on Ruby 1.9 and
-# Linux 2.6. Using this class requires the following additional RubyGems
+# Unlike the core of raindrops, this is only supported on Ruby 1.9+ and
+# Linux 2.6+. Using this class requires the following additional RubyGems
# or libraries:
#
# * aggregate (tested with 0.2.2)
-# * io-extra (tested with 1.2.3)
# * posix_mq (tested with 1.0.0)
#
# == Design
@@ -39,9 +38,9 @@
# :stopdoc:
# These constants are for Linux. This is designed for aggregating
# TCP_INFO.
- RDLOCK = [ Fcntl::F_RDLCK ].pack("s @256")
- WRLOCK = [ Fcntl::F_WRLCK ].pack("s @256")
- UNLOCK = [ Fcntl::F_UNLCK ].pack("s @256")
+ RDLOCK = [ Fcntl::F_RDLCK ].pack("s @256".freeze).freeze
+ WRLOCK = [ Fcntl::F_WRLCK ].pack("s @256".freeze).freeze
+ UNLOCK = [ Fcntl::F_UNLCK ].pack("s @256".freeze).freeze
# :startdoc:
# returns the number of dropped messages sent to a POSIX message
@@ -84,6 +83,7 @@
@wr = File.open(t.path, "wb")
@rd = File.open(t.path, "rb")
end
+ @wr.sync = true
@cached_aggregate = @aggregate
flush_master
@mq_send = if opts[:lossy]
@@ -151,7 +151,10 @@
@cached_aggregate ||= begin
flush
Marshal.load(synchronize(@rd, RDLOCK) do |rd|
- IO.pread rd.fileno, rd.stat.size, 0
+ dst = StringIO.new
+ dst.binmode
+ IO.copy_stream(rd, dst, rd.size, 0)
+ dst.string
end)
end
end
@@ -163,7 +166,8 @@
dump = Marshal.dump @aggregate
synchronize(@wr, WRLOCK) do |wr|
wr.truncate 0
- IO.pwrite wr.fileno, dump, 0
+ wr.rewind
+ wr.write(dump)
end
end
@@ -185,10 +189,12 @@
def synchronize io, type # :nodoc:
@mutex.synchronize do
begin
+ type = type.dup
lock! io, type
yield io
ensure
- lock! io, UNLOCK
+ lock! io, type.replace(UNLOCK)
+ type.clear
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2016-07-31 17:20:21.000000000 +0200
+++ new/metadata 2017-03-23 03:45:38.000000000 +0100
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: raindrops
version: !ruby/object:Gem::Version
- version: 0.17.0
+ version: 0.18.0
platform: ruby
authors:
- raindrops hackers
autorequire:
bindir: bin
cert_chain: []
-date: 2016-07-31 00:00:00.000000000 Z
+date: 2017-03-23 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: aggregate
@@ -39,26 +39,6 @@
- !ruby/object:Gem::Version
version: '3.0'
- !ruby/object:Gem::Dependency
- name: io-extra
- requirement: !ruby/object:Gem::Requirement
- requirements:
- - - "~>"
- - !ruby/object:Gem::Version
- version: '1.2'
- - - ">="
- - !ruby/object:Gem::Version
- version: 1.2.3
- type: :development
- prerelease: false
- version_requirements: !ruby/object:Gem::Requirement
- requirements:
- - - "~>"
- - !ruby/object:Gem::Version
- version: '1.2'
- - - ">="
- - !ruby/object:Gem::Version
- version: 1.2.3
-- !ruby/object:Gem::Dependency
name: posix_mq
requirement: !ruby/object:Gem::Requirement
requirements:
@@ -92,27 +72,13 @@
- - "<"
- !ruby/object:Gem::Version
version: '3.0'
-- !ruby/object:Gem::Dependency
- name: olddoc
- requirement: !ruby/object:Gem::Requirement
- requirements:
- - - "~>"
- - !ruby/object:Gem::Version
- version: '1.0'
- type: :development
- prerelease: false
- version_requirements: !ruby/object:Gem::Requirement
- requirements:
- - - "~>"
- - !ruby/object:Gem::Version
- version: '1.0'
description: |-
raindrops is a real-time stats toolkit to show statistics for Rack HTTP
servers. It is designed for preforking servers such as unicorn, but
should support any Rack HTTP server on platforms supporting POSIX shared
memory. It may also be used as a generic scoreboard for sharing atomic
counters across multiple processes.
-email: raindrops(a)bogomips.org
+email: raindrops-public(a)bogomips.org
executables: []
extensions:
- ext/raindrops/extconf.rb
@@ -120,19 +86,9 @@
- README
- LICENSE
- NEWS
-- lib/raindrops.rb
-- lib/raindrops/aggregate.rb
-- lib/raindrops/aggregate/last_data_recv.rb
-- lib/raindrops/aggregate/pmq.rb
-- lib/raindrops/last_data_recv.rb
-- lib/raindrops/linux.rb
-- lib/raindrops/middleware.rb
-- lib/raindrops/middleware/proxy.rb
-- lib/raindrops/struct.rb
-- lib/raindrops/watcher.rb
- ext/raindrops/raindrops.c
- ext/raindrops/linux_inet_diag.c
-- ext/raindrops/linux_tcp_info.c
+- ext/raindrops/tcp_info.c
files:
- ".document"
- ".gitattributes"
@@ -158,10 +114,10 @@
- examples/zbatery.conf.rb
- ext/raindrops/extconf.rb
- ext/raindrops/linux_inet_diag.c
-- ext/raindrops/linux_tcp_info.c
- ext/raindrops/my_fileno.h
- ext/raindrops/raindrops.c
- ext/raindrops/raindrops_atomic.h
+- ext/raindrops/tcp_info.c
- lib/raindrops.rb
- lib/raindrops/aggregate.rb
- lib/raindrops/aggregate/last_data_recv.rb
@@ -185,13 +141,13 @@
- test/test_linux_all_tcp_listen_stats_leak.rb
- test/test_linux_ipv6.rb
- test/test_linux_middleware.rb
-- test/test_linux_tcp_info.rb
- test/test_middleware.rb
- test/test_middleware_unicorn.rb
- test/test_middleware_unicorn_ipv6.rb
- test/test_raindrops.rb
- test/test_raindrops_gc.rb
- test/test_struct.rb
+- test/test_tcp_info.rb
- test/test_watcher.rb
homepage: https://bogomips.org/raindrops/
licenses:
@@ -205,7 +161,7 @@
requirements:
- - ">="
- !ruby/object:Gem::Version
- version: '0'
+ version: 1.9.3
required_rubygems_version: !ruby/object:Gem::Requirement
requirements:
- - ">="
@@ -213,7 +169,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.6.6
+rubygems_version: 2.6.10
signing_key:
specification_version: 4
summary: real-time stats for preforking Rack servers
@@ -226,11 +182,11 @@
- test/test_linux_all_tcp_listen_stats_leak.rb
- test/test_linux_ipv6.rb
- test/test_linux_middleware.rb
-- test/test_linux_tcp_info.rb
- test/test_middleware.rb
- test/test_middleware_unicorn.rb
- test/test_middleware_unicorn_ipv6.rb
- test/test_raindrops.rb
- test/test_raindrops_gc.rb
- test/test_struct.rb
+- test/test_tcp_info.rb
- test/test_watcher.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/raindrops.gemspec new/raindrops.gemspec
--- old/raindrops.gemspec 2016-07-31 17:20:21.000000000 +0200
+++ new/raindrops.gemspec 2017-03-23 03:45:38.000000000 +0100
@@ -1,30 +1,26 @@
# -*- encoding: binary -*-
-ENV["VERSION"] or abort "VERSION= must be specified"
-manifest = File.readlines('.manifest').map! { |x| x.chomp! }
+manifest = File.exist?('.manifest') ?
+ IO.readlines('.manifest').map!(&:chomp!) : `git ls-files`.split("\n")
test_files = manifest.grep(%r{\Atest/test_.*\.rb\z})
-require 'olddoc'
-extend Olddoc::Gemspec
-name, summary, title = readme_metadata
Gem::Specification.new do |s|
s.name = %q{raindrops}
- s.version = ENV["VERSION"].dup
-
+ s.version = (ENV["VERSION"] ||= '0.18.0').dup
s.authors = ["raindrops hackers"]
- s.description = readme_description
- s.email = %q{raindrops(a)bogomips.org}
+ s.description = File.read('README').split("\n\n")[1]
+ s.email = %q{raindrops-public(a)bogomips.org}
s.extensions = %w(ext/raindrops/extconf.rb)
- s.extra_rdoc_files = extra_rdoc_files(manifest)
+ s.extra_rdoc_files = IO.readlines('.document').map!(&:chomp!).keep_if do |f|
+ File.exist?(f)
+ end
s.files = manifest
- s.homepage = Olddoc.config['rdoc_url']
- s.summary = summary
+ s.homepage = 'https://bogomips.org/raindrops/'
+ s.summary = 'real-time stats for preforking Rack servers'
+ s.required_ruby_version = '>= 1.9.3'
s.test_files = test_files
s.add_development_dependency('aggregate', '~> 0.2')
s.add_development_dependency('test-unit', '~> 3.0')
- s.add_development_dependency('io-extra', [ '~> 1.2', '>= 1.2.3'])
s.add_development_dependency('posix_mq', '~> 2.0')
s.add_development_dependency('rack', [ '>= 1.2', '< 3.0' ])
- s.add_development_dependency('olddoc', '~> 1.0')
-
s.licenses = %w(LGPL-2.1+)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_aggregate_pmq.rb new/test/test_aggregate_pmq.rb
--- old/test/test_aggregate_pmq.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/test/test_aggregate_pmq.rb 2017-03-23 03:45:38.000000000 +0100
@@ -3,7 +3,7 @@
pmq = begin
Raindrops::Aggregate::PMQ
rescue LoadError => e
- warn "W: #{e} skipping test"
+ warn "W: #{e} skipping #{__FILE__}"
false
end
if RUBY_VERSION.to_f < 1.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_inet_diag_socket.rb new/test/test_inet_diag_socket.rb
--- old/test/test_inet_diag_socket.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/test/test_inet_diag_socket.rb 2017-03-23 03:45:38.000000000 +0100
@@ -8,7 +8,7 @@
def test_new
sock = Raindrops::InetDiagSocket.new
assert_kind_of Socket, sock
- assert_kind_of Fixnum, sock.fileno
+ assert_kind_of Integer, sock.fileno
flags = sock.fcntl(Fcntl::F_GETFD)
assert_equal Fcntl::FD_CLOEXEC, flags & Fcntl::FD_CLOEXEC
assert_nil sock.close
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_last_data_recv_unicorn.rb new/test/test_last_data_recv_unicorn.rb
--- old/test/test_last_data_recv_unicorn.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/test/test_last_data_recv_unicorn.rb 2017-03-23 03:45:38.000000000 +0100
@@ -7,7 +7,7 @@
pmq = begin
Raindrops::Aggregate::PMQ
rescue LoadError => e
- warn "W: #{e} skipping test"
+ warn "W: #{e} skipping #{__FILE__}"
false
end
if RUBY_VERSION.to_f < 1.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_linux_tcp_info.rb new/test/test_linux_tcp_info.rb
--- old/test/test_linux_tcp_info.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/test/test_linux_tcp_info.rb 1970-01-01 01:00:00.000000000 +0100
@@ -1,68 +0,0 @@
-# -*- encoding: binary -*-
-require 'test/unit'
-require 'tempfile'
-require 'raindrops'
-require 'socket'
-require 'pp'
-$stderr.sync = $stdout.sync = true
-class TestLinuxTCP_Info < Test::Unit::TestCase
-
- TEST_ADDR = ENV['UNICORN_TEST_ADDR'] || '127.0.0.1'
-
- # Linux kernel commit 5ee3afba88f5a79d0bff07ddd87af45919259f91
- TCP_INFO_useful_listenq = `uname -r`.strip >= '2.6.24'
-
-
- def test_tcp_server
- s = TCPServer.new(TEST_ADDR, 0)
- rv = Raindrops::TCP_Info.new s
- c = TCPSocket.new TEST_ADDR, s.addr[1]
- tmp = Raindrops::TCP_Info.new s
- TCP_INFO_useful_listenq and assert_equal 1, tmp.unacked
-
- assert_equal 0, rv.unacked
- a = s.accept
- tmp = Raindrops::TCP_Info.new s
- assert_equal 0, tmp.unacked
- before = tmp.object_id
-
- tmp.get!(s)
- assert_equal before, tmp.object_id
-
- ensure
- c.close if c
- a.close if a
- s.close
- end
-
- def test_accessors
- s = TCPServer.new TEST_ADDR, 0
- tmp = Raindrops::TCP_Info.new s
- tcp_info_methods = tmp.methods - Object.new.methods
- assert tcp_info_methods.size >= 32
- tcp_info_methods.each do |m|
- next if m.to_sym == :get!
- val = tmp.__send__ m
- assert_kind_of Integer, val
- assert val >= 0
- end
- ensure
- s.close
- end
-
- def test_tcp_server_delayed
- delay = 0.010
- delay_ms = (delay * 1000).to_i
- s = TCPServer.new(TEST_ADDR, 0)
- c = TCPSocket.new TEST_ADDR, s.addr[1]
- c.syswrite "."
- sleep(delay * 1.2)
- a = s.accept
- i = Raindrops::TCP_Info.new(a)
- assert i.last_data_recv >= delay_ms, "#{i.last_data_recv} < #{delay_ms}"
- ensure
- c.close if c
- a.close if a
- s.close
- end
-end if RUBY_PLATFORM =~ /linux/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_tcp_info.rb new/test/test_tcp_info.rb
--- old/test/test_tcp_info.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/test/test_tcp_info.rb 2017-03-23 03:45:38.000000000 +0100
@@ -0,0 +1,88 @@
+# -*- encoding: binary -*-
+require 'test/unit'
+require 'tempfile'
+require 'raindrops'
+require 'socket'
+require 'pp'
+$stderr.sync = $stdout.sync = true
+class TestTCP_Info < Test::Unit::TestCase
+
+ TEST_ADDR = ENV['UNICORN_TEST_ADDR'] || '127.0.0.1'
+
+ # Linux kernel commit 5ee3afba88f5a79d0bff07ddd87af45919259f91
+ TCP_INFO_useful_listenq = `uname -r`.strip >= '2.6.24'
+
+ def test_tcp_server_unacked
+ return if RUBY_PLATFORM !~ /linux/ # unacked not implemented on others...
+ s = TCPServer.new(TEST_ADDR, 0)
+ rv = Raindrops::TCP_Info.new s
+ c = TCPSocket.new TEST_ADDR, s.addr[1]
+ tmp = Raindrops::TCP_Info.new s
+ TCP_INFO_useful_listenq and assert_equal 1, tmp.unacked
+
+ assert_equal 0, rv.unacked
+ a = s.accept
+ tmp = Raindrops::TCP_Info.new s
+ assert_equal 0, tmp.unacked
+ before = tmp.object_id
+
+ tmp.get!(s)
+ assert_equal before, tmp.object_id
+
+ ensure
+ [ c, a, s ].compact.each(&:close)
+ end
+
+ def test_accessors
+ s = TCPServer.new TEST_ADDR, 0
+ tmp = Raindrops::TCP_Info.new s
+ tcp_info_methods = tmp.methods - Object.new.methods
+ assert tcp_info_methods.size >= 32
+ tcp_info_methods.each do |m|
+ next if m.to_sym == :get!
+ next if ! tmp.respond_to?(m)
+ val = tmp.__send__ m
+ assert_kind_of Integer, val
+ assert val >= 0
+ end
+ assert tmp.respond_to?(:state), 'every OS knows about TCP state, right?'
+ ensure
+ s.close
+ end
+
+ def test_tcp_server_delayed
+ delay = 0.010
+ delay_ms = (delay * 1000).to_i
+ s = TCPServer.new(TEST_ADDR, 0)
+ c = TCPSocket.new TEST_ADDR, s.addr[1]
+ c.syswrite "."
+ sleep(delay * 1.2)
+ a = s.accept
+ i = Raindrops::TCP_Info.new(a)
+ assert i.last_data_recv >= delay_ms, "#{i.last_data_recv} < #{delay_ms}"
+ ensure
+ c.close if c
+ a.close if a
+ s.close
+ end
+
+ def test_tcp_server_state_closed
+ s = TCPServer.new(TEST_ADDR, 0)
+ c = TCPSocket.new(TEST_ADDR, s.addr[1])
+ i = Raindrops::TCP_Info.allocate
+ a = s.accept
+ i.get!(a)
+ state = i.state
+ if Raindrops.const_defined?(:TCP)
+ assert_equal state, Raindrops::TCP[:ESTABLISHED]
+ end
+ c = c.close
+ sleep(0.01) # wait for kernel to update state
+ i.get!(a)
+ assert_not_equal state, i.state
+ ensure
+ s.close if s
+ c.close if c
+ a.close if a
+ end
+end if defined? Raindrops::TCP_Info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_watcher.rb new/test/test_watcher.rb
--- old/test/test_watcher.rb 2016-07-31 17:20:21.000000000 +0200
+++ new/test/test_watcher.rb 2017-03-23 03:45:38.000000000 +0100
@@ -2,6 +2,11 @@
require "test/unit"
require "rack"
require "raindrops"
+begin
+ require 'aggregate'
+rescue LoadError => e
+ warn "W: #{e} skipping #{__FILE__}"
+end
class TestWatcher < Test::Unit::TestCase
TEST_ADDR = ENV['UNICORN_TEST_ADDR'] || '127.0.0.1'
@@ -178,4 +183,4 @@
assert_equal queued_before, headers["X-Last-Peak-At"], "should not change"
assert_equal start, headers["X-First-Peak-At"]
end
-end if RUBY_PLATFORM =~ /linux/
+end if RUBY_PLATFORM =~ /linux/ && defined?(Aggregate)
1
0
Hello community,
here is the log from the commit of package macrofusion for openSUSE:Factory checked in at 2017-03-31 15:07:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/macrofusion (Old)
and /work/SRC/openSUSE:Factory/.macrofusion.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "macrofusion"
Fri Mar 31 15:07:53 2017 rev:2 rq:482273 version:0.7.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/macrofusion/macrofusion.changes 2017-03-12 20:00:00.475649612 +0100
+++ /work/SRC/openSUSE:Factory/.macrofusion.new/macrofusion.changes 2017-03-31 15:07:54.941717650 +0200
@@ -1,0 +2,5 @@
+Thu Mar 23 14:22:49 UTC 2017 - jengelh(a)inai.de
+
+- Correct grammar errors in description.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ macrofusion.spec ++++++
--- /var/tmp/diff_new_pack.UMabG1/_old 2017-03-31 15:07:55.477641883 +0200
+++ /var/tmp/diff_new_pack.UMabG1/_new 2017-03-31 15:07:55.481641317 +0200
@@ -35,11 +35,11 @@
%description
MacroFusion is a neat little GUI for great tool Enfuse
(command line) It makes easy fusion few photos to one with great
-DOF (Deep of Field) or DR (Dynamic Range)
-It can be useful for every macro lovers or landscapers
+DOF (Depth of Field) or DR (Dynamic Range)
+It can be useful for enthusiasts of landscape or macro imagery.
-MacroFusion is a fork of EnfuseGui of Chez Gholyo Rebranding is
-due to conflict with another EnfuseGui (for MacOS)
+MacroFusion is a fork of EnfuseGui of Chez Gholyo and has been
+rebranded to avoid conflict with another EnfuseGui (for MacOS).
%prep
%setup -q
1
0
Hello community,
here is the log from the commit of package qmmp for openSUSE:Factory checked in at 2017-03-31 15:07:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qmmp (Old)
and /work/SRC/openSUSE:Factory/.qmmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qmmp"
Fri Mar 31 15:07:41 2017 rev:50 rq:482191 version:1.1.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/qmmp/qmmp.changes 2017-01-15 11:16:05.451292535 +0100
+++ /work/SRC/openSUSE:Factory/.qmmp.new/qmmp.changes 2017-03-31 15:07:42.603461992 +0200
@@ -1,0 +2,21 @@
+Thu Mar 23 11:55:35 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Update to version 1.1.8:
+ * Fix PCM Wave support.
+ * Fix Game Boy support in the gme plugin.
+ * Fix Xing header detection in the mpeg plugin.
+ * Fix output of the '--status' command line option.
+ * Fix maximum year in the tag editor.
+
+-------------------------------------------------------------------
+Sun Feb 5 12:12:03 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Update to version 1.1.7:
+ * Improve stream format determination in the ffmpeg plugin.
+ * Fix GCC 6.x support.
+ * Fix a possible segmentation fault.
+ * Fix a crash when using KDE file dialogue.
+ * Fix saving state of the visual plugins.
+ * Update Brazilian Portuguese translation.
+
+-------------------------------------------------------------------
Old:
----
qmmp-1.1.6.tar.bz2
New:
----
qmmp-1.1.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qmmp.spec ++++++
--- /var/tmp/diff_new_pack.C2PfZj/_old 2017-03-31 15:07:43.299363607 +0200
+++ /var/tmp/diff_new_pack.C2PfZj/_new 2017-03-31 15:07:43.303363043 +0200
@@ -21,7 +21,7 @@
%bcond_with mad
%bcond_with restricted
Name: qmmp
-Version: 1.1.6
+Version: 1.1.8
Release: 0
Summary: Qt-based Multimedia Player
License: GPL-2.0+
++++++ qmmp-1.1.6.tar.bz2 -> qmmp-1.1.8.tar.bz2 ++++++
++++ 3886 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-wai-websockets for openSUSE:Factory checked in at 2017-03-31 15:07:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-wai-websockets (Old)
and /work/SRC/openSUSE:Factory/.ghc-wai-websockets.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-wai-websockets"
Fri Mar 31 15:07:39 2017 rev:2 rq:482175 version:3.0.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-wai-websockets/ghc-wai-websockets.changes 2017-03-16 09:35:29.354117374 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-wai-websockets.new/ghc-wai-websockets.changes 2017-03-31 15:07:40.339782023 +0200
@@ -1,0 +2,5 @@
+Thu Sep 15 06:35:41 UTC 2016 - psimons(a)suse.com
+
+- Update to version 3.0.1.1 revision 0 with cabal2obs.
+
+-------------------------------------------------------------------
Old:
----
wai-websockets-3.0.1.tar.gz
New:
----
wai-websockets-3.0.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-wai-websockets.spec ++++++
--- /var/tmp/diff_new_pack.lb5qRJ/_old 2017-03-31 15:07:41.011687031 +0200
+++ /var/tmp/diff_new_pack.lb5qRJ/_new 2017-03-31 15:07:41.019685901 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-wai-websockets
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name wai-websockets
Name: ghc-%{pkg_name}
-Version: 3.0.1
+Version: 3.0.1.1
Release: 0
Summary: Provide a bridge between WAI and the websockets package
License: MIT
@@ -65,7 +65,7 @@
%install
%ghc_lib_install
-%ghc_fix_dynamic_rpath wai-websockets-example
+%ghc_fix_rpath %{pkg_name}-%{version}
%post devel
%ghc_pkg_recache
++++++ wai-websockets-3.0.1.tar.gz -> wai-websockets-3.0.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wai-websockets-3.0.1/ChangeLog.md new/wai-websockets-3.0.1.1/ChangeLog.md
--- old/wai-websockets-3.0.1/ChangeLog.md 2016-08-02 12:33:14.000000000 +0200
+++ new/wai-websockets-3.0.1.1/ChangeLog.md 2016-09-04 15:11:24.000000000 +0200
@@ -1,3 +1,7 @@
+## 3.0.1.1
+
+* Doc improvement
+
## 3.0.1
* Improved connection close logic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wai-websockets-3.0.1/Network/Wai/Handler/WebSockets.hs new/wai-websockets-3.0.1.1/Network/Wai/Handler/WebSockets.hs
--- old/wai-websockets-3.0.1/Network/Wai/Handler/WebSockets.hs 2016-08-02 12:33:14.000000000 +0200
+++ new/wai-websockets-3.0.1.1/Network/Wai/Handler/WebSockets.hs 2016-09-04 15:11:24.000000000 +0200
@@ -30,10 +30,10 @@
-- WebSocket requests.
--
-- @
--- websocketsOr opts ws_app backup_app = \\req send_response ->
+-- websocketsOr opts ws_app backup_app = \\req respond ->
-- __case__ 'websocketsApp' opts ws_app req __of__
-- 'Nothing' -> backup_app req send_response
--- 'Just' res -> send_response res
+-- 'Just' res -> respond res
-- @
--
-- For example, below is an 'Wai.Application' that sends @"Hello, client!"@ to
@@ -49,7 +49,7 @@
-- 'WS.sendTextData' conn ("Hello, client!" :: 'Data.Text.Text')
--
-- backupApp :: 'Wai.Application'
--- backupApp = 'Wai.respondLBS' 'Network.HTTP.Types.status400' [] "Not a WebSocket request"
+-- backupApp _ respond = respond $ 'Wai.responseLBS' 'Network.HTTP.Types.status400' [] "Not a WebSocket request"
-- @
websocketsOr :: WS.ConnectionOptions
-> WS.ServerApp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wai-websockets-3.0.1/wai-websockets.cabal new/wai-websockets-3.0.1.1/wai-websockets.cabal
--- old/wai-websockets-3.0.1/wai-websockets.cabal 2016-08-02 12:33:14.000000000 +0200
+++ new/wai-websockets-3.0.1.1/wai-websockets.cabal 2016-09-04 15:11:24.000000000 +0200
@@ -1,5 +1,5 @@
Name: wai-websockets
-Version: 3.0.1
+Version: 3.0.1.1
Synopsis: Provide a bridge between WAI and the websockets package.
License: MIT
License-file: LICENSE
1
0