<commit_before><!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta content="ED" name="w3c-status">
<title>HTML 5.1 Implementation report</title>

<link href="styles/styles-html.css" rel="stylesheet" type="text/css">
<link href="https://www.w3.org/StyleSheets/TR/2016/W3C-ED" rel="stylesheet" type="text/css">
<style>
table { border-collapse: collapse;border-spacing: 0;}
th, td { border: 1px solid black; padding: 0.5ex; }
td.pass { background-color:#cfc;}
td.partial { background-color:#ffc;}
td.fail { background-color:#fcc;}
td.notTested { background-color:#fcf;}
th { background-color:#ccc;}
</style>

</head>

<body class="h-entry">
<div class="head">
<header>
<p data-fill-with="logo"><a href="http://www.w3.org/"><img alt="W3C" src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" height="48"
width="72"></a></p>
<h1>HTML 5.1 Implementation report</h1>
</header>
</div>

<main>
<p>This report outlines known implementations for the features added between HTML 5.0 and HTML 5.1.</p>

<p>Implementation information is documented in the relevant Github issue, Pull Request (PR), or documentation for developers.</p>

<h2>Documented changes</h2>

<h3 id="newfeatures">New features</h3>

<table aria-labelledby="newfeatures">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reportValidity"><code>HTMLInputElement.reportValidity()</code></a></th>
<td class="pass">Chrome, Opera</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=fastseek"><code>HTMLMediaElement.fastseek()</code></a></th>
<td class="fail">N</td><td class="fail">N</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=spellcheck-attribute"><code>HTMLElement.forceSpellcheck()</code></a></th>
<td colspan="5" class="pass">All</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/input-types/index.html#week"><code>&lt;Input type="week"&gt;</code></a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/input-types/index.html#month"><code>&lt;input type="month"&gt;</code></a></th>
<td class="pass">Chrome, Yandex</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/input-types/index.html#datetime"><code>&lt;input type="datetime-local"&gt;</code></a></th>
<td class="pass">Yandex, Chrome</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap"><code>ImageBitmap</code> interface</a></th>
<td class="pass">Chrome, Opera</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="notTested">Not Tested</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=picture"><code>&lt;picture&gt;</code></a></th>
<td class="pass">Chrome, Opera, Yandex</td><td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=srcset"><code>&lt;img srcset=""&gt;</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=srcset"><code>&lt;details&gt;</code> and <code>&lt;summary&gt;</code></a></th>
<td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td></td>
</tr>


<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#Browser_compatibility"><code>&lt;iframe allowfullscreen&gt;</code></a></th>
<td colspan="5" class="pass">All</td><td></td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=registerProtocolHandler"><code>registerProtocolHandler()</code></a></th>
<td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu#Browser_compatibility"><code>&lt;menu type="context"&gt;</code></a></th>
<td class="pass">Chrome, Opera, Yandex</td><td class="fail">N</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem#Browser_compatibility"><code>&lt;menuitem&gt;</code></a></th>
<td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td></td>
</tr>

<tr>
<th><a href="http://help.dottoro.com/ljbcjfot.php"><code>XMLDocument</code> interface</a></th>
<td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/256">Restore <code>&lt;a rev=""&gt;</code></a></th>
<td colspan="5">No browser behaviour required</td><td class="pass">Search engines, RDFa validators - Google, Yandex, …</td>
</tr>

</table>

<h3 id="improvements">Improvements to existing features</h3>

<table aria-labelledby="improvements">
<tr>
<th></th><th>Blink</th><th>Firefox - Gecko</th><th>Edge</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=oncopy">Add <code>oncopy</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=oncut">Add <code>oncut</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>
<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=onpaste">Add <code>onpaste</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/273">Modify header/footer content model to allow <code>&lt;header&gt;</code> and <code>&lt;footer&gt;</code> descendants</a></th>
<td colspan="5">No browser implementation requirement</td><td>Not implemented in W3C Validator. <a href="https://chaals.github.io/testcases/header-footer-nesting-manual.html">test case</a></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/176">Allow blank <code>&lt;option&gt;</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="fail">N/T</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/148">Change <code>mousewheel</code> event to <code>wheel</code> event</a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td></td><td>According to https://developer.mozilla.org/en-US/docs/Web/Events/wheel - which has a test that could be adapted. But I suspect there is one in WPT</td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/281">Make stepup/down algorithm reflect reality</a></th>
<td class="pass">Yandex, Opera</td><td class="notTested">Not Testable</td><td class="pass">Y</td><td class="notTested">Not Testable</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/figcaption/index.html">Allow <code>&lt;figcaption&gt;</code> anywhere in <code>&lt;figure&gt;</code></a></th>
<td colspan="5" class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/commit/60215ae3f18bc364f8e6efd6701ef75369f0df5b">Change <code>&lt;input type="popup"&gt;</code> to <code>&lt;input type="context"&gt;</code></a></th>
<td class="pass">Chrome, Opera, Yandex</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td>@@@</td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=srcObject">Add <code>HTMLMediaElement.srcObject</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/6c635b1ca71ab6b12d1e3ad2438457778554eabd">Make <code>&lt;script&gt;</code>'s <code>event</code> and <code>htmlFor</code> IDL attributes reflect the content attributes</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="partial">4/5 tests</td><td><a href="http://w3c-test.org/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html">WPT test</a></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/2b9320cf687778f0573fd4e98f6fcabdd164a8f2">Clear <code>autoplaying</code> flag when autoplaying</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/32edd24d23efc1279929843cf9d693b7e097de4b">Make <code>navigator.javaEnabled()</code> a method</a></th>
<td class="pass">Yandex, Opera</td><td class="pass">Y</td><td class="notTested">?</td><td class="pass">Y</td><td class="notTested">?</td><td>@@ publish test</td>
</tr>


<tr>
<th><a href="https://github.com/whatwg/html/commit/06b0238b34c7dfd2f74c4dee6ed8410e9d79b992">Support <code>width="0"</code> except for <code>&lt;td&gt;</code></a></th>
<td colspan="5" class="pass">Y</td><td><a href="http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=3642">test for img</a></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/8cee637caaed8512afb64c7c31a4e35060da3abe">Make <code>toblob()</code> callback non-nullable</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="notTested">?</td><td>manually checked if <code>document.createElement('canvas').toBlob(null)</code> throws…</td>
</tr>

<tr>
<th rowspan="2"><a href="https://github.com/whatwg/html/commit/94750dc5f3ffca7c6b54a79b86526a39b2cbff14">Make meta refresh parsing reflect reality</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="pass">Y</td><td><a href="https://chaals.github.io/testcases/meta-refresh-bare-url-manual.html">With <code>url=</code> optional</a>. Believed to work in IE - filed by MS</td>
</tr>

<tr>
<td class="fail">Yandex, Opera</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="fail">N</td><td><a href="https://chaals.github.io/testcases/meta-refresh-no-semi-colon-manual.html">With no semicolon</a>. Believed to work in IE11, according to the bug filed</td>
</tr>
</table>

<h3 id="scroll">Scroll restoration changes</h3>

<table aria-labelledby="scroll">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=scrollRestoration">Add <code>history.scrollRestoration</code></a></th>
<td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="fail">N</td><td>Assume this is right imp info for <a href="https://github.com/whatwg/html/commit/dd6a34ec3c191ee1968a0fc8d174b4ce3b615916">WHATWG issue</a>?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/017a842ec6c63e6ed4f26f77da41270688eab33e">Clarify manual scroll restoration mode</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>
</table>

<h3 id="crossorigin">Cross-origin changes</h3>

<table aria-labelledby="crossorigin">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/c89cb55ba2a5571628d101bfd20ba0a1d076c990">Allow cross-origin <code>&lt;track&gt;</code> and <code>eventSource</code></a></th>
<td colspan="5" class="notTested">?</td><td>No W3C issue/reference?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/3dc7dc993e5faa35f3c56acdfc037ab1d7b7c438">Let <code>FrameElement</code> return null in cross-origin situations</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/083c57cc37998292381be3c94aeef483be7213fb">Change <code>ImageBitmap</code> to allow cross-origin content</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C issue/reference?</td>
</tr>
</table>

<h3 id="fixed">Collections changes</h3>

<table aria-labelledby="fixed">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/b88afb63ad1d4b0def27c4561e267f15017bdc8a"><code>&lt;fieldset&gt;</code> no longer utilises <code>HTMLFormControlsCollection</code></a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/934887d313305448b7ba6dd3af6f7434e1b600c8">Make <code>&lt;fieldset&gt;.elements</code> return an <code>HTMLCollection</code></a></th>
<td colspan="5" class="notTested">?</td><td>W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/f0ba7187bca710b7a58624728d2081b63a0f5ea6">Reference <code>namedItem</code> method from <code>HTMLCollection</code> not <code>HTMLOptionsCollection</code></a></th>
<td colspan="5" class="notTested">?</td><td>W3C issue/reference?</td>
</tr>
</table>

<h3 id="SVG">SVG compatibility fixes</h3>

<table aria-labelledby="SVG">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th rowspan="4"><a href="https://github.com/whatwg/html/commit/969c45b2478d1d2d3be8564ec85dc316a53c8bcf">Describe SVG versions implemented in browsers</a></th>
<td class="pass">Opera, Yandex</td><td class="pass">Y</td><td class="notTested"></td><td class="notTested"></td><td class="pass">Y</td><td><code>non-scaling-stroke</code> for <code>vector-effect</code> - <a href="http://jsfiddle.net/1cj0ovae/5/">test</a></td>
</tr>

<tr>
<td colspan="5" class="notTested">?</td><td><code>class</code> attribute</td>
</tr>

<tr>
<td class="pass">Yandex</td><td class="fail">N</td><td class="notTested"></td><td class="notTested"></td><td class="pass">Y</td><td><code>tabindex</code> attribute</td>
</tr>

<tr>
<td colspan="5" class="pass">Y</td><td>Allow ARIA attributes - demonstrated by <a href="https://github.com/SVG-access-W3CG/use-case-examples/">multiple examples</a></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/f7ff53e761a9fc813d9765073e2752d42347f0b6">Make SVG <code>&lt;title&gt;</code> first child not last</a></th>
<td class="pass">Yandex**</td><td class="pass">Y</td><td class="notTested"></td><td class="notTested"></td><td class="pass">Y</td><td class="pass">Yandex, Firefox and Safari all expose the first <code>title</code> child in <a href="https://chaals.github.io/testcases/title-first-child-manual.svg">raw SVG</a>. In <a href="https://chaals.github.io/testcases/svg-title-first-child-manual.html">SVG embedded in HTML</a>, Firefox and Safari expose the first child <code>title</code> element as a tooltip</td>
</tr>

</table>

<h3 id="tables">Table compatibility fixes</h3>

<table aria-labelledby="tables">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/330">Make <code>&lt;thead&gt;</code> and <code>&lt;tfoot&gt;</code> ordering reflect reality</a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/93cb3d61526cf956a739c57398760dc8a3a633bd">Add specific <code>HTMLTableElement</code> types</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested"></td><td class="notTested"></td><td class="notTested"></td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/da491d4c62c3efb73a96bce7071a0a0dcbfa95d8">Change <code>.tFoot</code> and <code>.createTFoot</code> to always insert at the end</a></th>
<td class="fail">N</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="fail">N</td><td>Related to thead/tfoot ordering issue above, and changed to match what happens there? <a href="http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=3777">test for <code>createTFoot</code></a></td>
</tr>

<tr>
<tr>
<th><a href="https://github.com/whatwg/html/commit/94d55af9cda601ce675d15f6a0e52c9bb9c6afa9">Disallow <code>&lt;tfoot&gt;</code> before <code>&lt;tbody&gt;</code></a></th>
<td colspan="5">No browser behaviour required</td><td>Not implemented in validator.w3.org</td>
</tr>
</table>

<h2>Changes relating to other specifications</h2>

<h3 id="isolated">Isolated integrations</h3>

<table aria-labelledby="isolated">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=requestanimationframe">Add <code>requestAnimationFrame</code></a></th>
<td colspan="5" class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/pull/157">Add callout to detach from <code>&lt;media&gt;</code></a></th>
<td colspan="5"	>Tests?</td><td>For MSE</td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/258">Integrate <code>&lt;img longdesc=""&gt;</code></a></th>
<td colspan="5">Test information was developed for longdesc Rec</td><td>Pending <a href="http://github.com/w3c/html/issues/507">issue #507</a></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/pull/431">Use close blob from File API</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/119">Integrate Resource Hints</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/120">Make <code>HTMLAllCollection</code> to match WebIDL</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/pull/404/commits/19177e5919d616732667c8b13fcaa7c2fb0686c8">Integrate encoding specification</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/c84f4ca683216e5dfabfa948ce88e2ded1e0573c">Take account of <code>srclang</code> when rendering <code>&lt;track&gt;</code></a></th>
<td colspan="5" class="notTested">?</td><td>For WebVTT - implementation…</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/12db63c7c038b9d8f1d3501d6661d89d495abeac">Define <code>enqueueJob()</code> and <code>nextJob()</code> monkeypatching ECMAScript</a></th>
<td colspan="5" class="notTested">?</td><td>W3C ref/issue?</td>
</tr><commit_msg>longdesc not integrated (#28)<commit_after><!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta content="ED" name="w3c-status">
<title>HTML 5.1 Implementation report</title>

<link href="styles/styles-html.css" rel="stylesheet" type="text/css">
<link href="https://www.w3.org/StyleSheets/TR/2016/W3C-ED" rel="stylesheet" type="text/css">
<style>
table { border-collapse: collapse;border-spacing: 0;}
th, td { border: 1px solid black; padding: 0.5ex; }
td.pass { background-color:#cfc;}
td.partial { background-color:#ffc;}
td.fail { background-color:#fcc;}
td.notTested { background-color:#fcf;}
th { background-color:#ccc;}
</style>

</head>

<body class="h-entry">
<div class="head">
<header>
<p data-fill-with="logo"><a href="http://www.w3.org/"><img alt="W3C" src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" height="48"
width="72"></a></p>
<h1>HTML 5.1 Implementation report</h1>
</header>
</div>

<main>
<p>This report outlines known implementations for the features added between HTML 5.0 and HTML 5.1.</p>

<p>Implementation information is documented in the relevant Github issue, Pull Request (PR), or documentation for developers.</p>

<h2>Documented changes</h2>

<h3 id="newfeatures">New features</h3>

<table aria-labelledby="newfeatures">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reportValidity"><code>HTMLInputElement.reportValidity()</code></a></th>
<td class="pass">Chrome, Opera</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=fastseek"><code>HTMLMediaElement.fastseek()</code></a></th>
<td class="fail">N</td><td class="fail">N</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=spellcheck-attribute"><code>HTMLElement.forceSpellcheck()</code></a></th>
<td colspan="5" class="pass">All</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/input-types/index.html#week"><code>&lt;Input type="week"&gt;</code></a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/input-types/index.html#month"><code>&lt;input type="month"&gt;</code></a></th>
<td class="pass">Chrome, Yandex</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/input-types/index.html#datetime"><code>&lt;input type="datetime-local"&gt;</code></a></th>
<td class="pass">Yandex, Chrome</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap"><code>ImageBitmap</code> interface</a></th>
<td class="pass">Chrome, Opera</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="notTested">Not Tested</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=picture"><code>&lt;picture&gt;</code></a></th>
<td class="pass">Chrome, Opera, Yandex</td><td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=srcset"><code>&lt;img srcset=""&gt;</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=srcset"><code>&lt;details&gt;</code> and <code>&lt;summary&gt;</code></a></th>
<td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td></td>
</tr>


<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#Browser_compatibility"><code>&lt;iframe allowfullscreen&gt;</code></a></th>
<td colspan="5" class="pass">All</td><td></td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=registerProtocolHandler"><code>registerProtocolHandler()</code></a></th>
<td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu#Browser_compatibility"><code>&lt;menu type="context"&gt;</code></a></th>
<td class="pass">Chrome, Opera, Yandex</td><td class="fail">N</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem#Browser_compatibility"><code>&lt;menuitem&gt;</code></a></th>
<td class="pass">Y</td><td class="fail">N</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td></td>
</tr>

<tr>
<th><a href="http://help.dottoro.com/ljbcjfot.php"><code>XMLDocument</code> interface</a></th>
<td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/256">Restore <code>&lt;a rev=""&gt;</code></a></th>
<td colspan="5">No browser behaviour required</td><td class="pass">Search engines, RDFa validators - Google, Yandex, …</td>
</tr>

</table>

<h3 id="improvements">Improvements to existing features</h3>

<table aria-labelledby="improvements">
<tr>
<th></th><th>Blink</th><th>Firefox - Gecko</th><th>Edge</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=oncopy">Add <code>oncopy</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=oncut">Add <code>oncut</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>
<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=onpaste">Add <code>onpaste</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="fail">N</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/273">Modify header/footer content model to allow <code>&lt;header&gt;</code> and <code>&lt;footer&gt;</code> descendants</a></th>
<td colspan="5">No browser implementation requirement</td><td>Not implemented in W3C Validator. <a href="https://chaals.github.io/testcases/header-footer-nesting-manual.html">test case</a></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/176">Allow blank <code>&lt;option&gt;</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="fail">N/T</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/148">Change <code>mousewheel</code> event to <code>wheel</code> event</a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td></td><td>According to https://developer.mozilla.org/en-US/docs/Web/Events/wheel - which has a test that could be adapted. But I suspect there is one in WPT</td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/281">Make stepup/down algorithm reflect reality</a></th>
<td class="pass">Yandex, Opera</td><td class="notTested">Not Testable</td><td class="pass">Y</td><td class="notTested">Not Testable</td><td class="fail">N</td><td></td>
</tr>

<tr>
<th><a href="http://ljwatson.github.io/test-cases/figcaption/index.html">Allow <code>&lt;figcaption&gt;</code> anywhere in <code>&lt;figure&gt;</code></a></th>
<td colspan="5" class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/commit/60215ae3f18bc364f8e6efd6701ef75369f0df5b">Change <code>&lt;input type="popup"&gt;</code> to <code>&lt;input type="context"&gt;</code></a></th>
<td class="pass">Chrome, Opera, Yandex</td><td class="pass">Y</td><td class="fail">N</td><td class="fail">N</td><td class="fail">N</td><td>@@@</td>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=srcObject">Add <code>HTMLMediaElement.srcObject</code></a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/6c635b1ca71ab6b12d1e3ad2438457778554eabd">Make <code>&lt;script&gt;</code>'s <code>event</code> and <code>htmlFor</code> IDL attributes reflect the content attributes</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="partial">4/5 tests</td><td><a href="http://w3c-test.org/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html">WPT test</a></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/2b9320cf687778f0573fd4e98f6fcabdd164a8f2">Clear <code>autoplaying</code> flag when autoplaying</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/32edd24d23efc1279929843cf9d693b7e097de4b">Make <code>navigator.javaEnabled()</code> a method</a></th>
<td class="pass">Yandex, Opera</td><td class="pass">Y</td><td class="notTested">?</td><td class="pass">Y</td><td class="notTested">?</td><td>@@ publish test</td>
</tr>


<tr>
<th><a href="https://github.com/whatwg/html/commit/06b0238b34c7dfd2f74c4dee6ed8410e9d79b992">Support <code>width="0"</code> except for <code>&lt;td&gt;</code></a></th>
<td colspan="5" class="pass">Y</td><td><a href="http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=3642">test for img</a></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/8cee637caaed8512afb64c7c31a4e35060da3abe">Make <code>toblob()</code> callback non-nullable</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="notTested">?</td><td>manually checked if <code>document.createElement('canvas').toBlob(null)</code> throws…</td>
</tr>

<tr>
<th rowspan="2"><a href="https://github.com/whatwg/html/commit/94750dc5f3ffca7c6b54a79b86526a39b2cbff14">Make meta refresh parsing reflect reality</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="pass">Y</td><td><a href="https://chaals.github.io/testcases/meta-refresh-bare-url-manual.html">With <code>url=</code> optional</a>. Believed to work in IE - filed by MS</td>
</tr>

<tr>
<td class="fail">Yandex, Opera</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="fail">N</td><td><a href="https://chaals.github.io/testcases/meta-refresh-no-semi-colon-manual.html">With no semicolon</a>. Believed to work in IE11, according to the bug filed</td>
</tr>
</table>

<h3 id="scroll">Scroll restoration changes</h3>

<table aria-labelledby="scroll">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?page=1&q=scrollRestoration">Add <code>history.scrollRestoration</code></a></th>
<td class="pass">Y</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="fail">N</td><td>Assume this is right imp info for <a href="https://github.com/whatwg/html/commit/dd6a34ec3c191ee1968a0fc8d174b4ce3b615916">WHATWG issue</a>?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/017a842ec6c63e6ed4f26f77da41270688eab33e">Clarify manual scroll restoration mode</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>
</table>

<h3 id="crossorigin">Cross-origin changes</h3>

<table aria-labelledby="crossorigin">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/c89cb55ba2a5571628d101bfd20ba0a1d076c990">Allow cross-origin <code>&lt;track&gt;</code> and <code>eventSource</code></a></th>
<td colspan="5" class="notTested">?</td><td>No W3C issue/reference?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/3dc7dc993e5faa35f3c56acdfc037ab1d7b7c438">Let <code>FrameElement</code> return null in cross-origin situations</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/083c57cc37998292381be3c94aeef483be7213fb">Change <code>ImageBitmap</code> to allow cross-origin content</a></th>
<td colspan="5" class="notTested">?</td><td>No W3C issue/reference?</td>
</tr>
</table>

<h3 id="fixed">Collections changes</h3>

<table aria-labelledby="fixed">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/b88afb63ad1d4b0def27c4561e267f15017bdc8a"><code>&lt;fieldset&gt;</code> no longer utilises <code>HTMLFormControlsCollection</code></a></th>
<td colspan="5" class="notTested">?</td><td>No W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/934887d313305448b7ba6dd3af6f7434e1b600c8">Make <code>&lt;fieldset&gt;.elements</code> return an <code>HTMLCollection</code></a></th>
<td colspan="5" class="notTested">?</td><td>W3C reference/issue?</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/f0ba7187bca710b7a58624728d2081b63a0f5ea6">Reference <code>namedItem</code> method from <code>HTMLCollection</code> not <code>HTMLOptionsCollection</code></a></th>
<td colspan="5" class="notTested">?</td><td>W3C issue/reference?</td>
</tr>
</table>

<h3 id="SVG">SVG compatibility fixes</h3>

<table aria-labelledby="SVG">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th rowspan="4"><a href="https://github.com/whatwg/html/commit/969c45b2478d1d2d3be8564ec85dc316a53c8bcf">Describe SVG versions implemented in browsers</a></th>
<td class="pass">Opera, Yandex</td><td class="pass">Y</td><td class="notTested"></td><td class="notTested"></td><td class="pass">Y</td><td><code>non-scaling-stroke</code> for <code>vector-effect</code> - <a href="http://jsfiddle.net/1cj0ovae/5/">test</a></td>
</tr>

<tr>
<td colspan="5" class="notTested">?</td><td><code>class</code> attribute</td>
</tr>

<tr>
<td class="pass">Yandex</td><td class="fail">N</td><td class="notTested"></td><td class="notTested"></td><td class="pass">Y</td><td><code>tabindex</code> attribute</td>
</tr>

<tr>
<td colspan="5" class="pass">Y</td><td>Allow ARIA attributes - demonstrated by <a href="https://github.com/SVG-access-W3CG/use-case-examples/">multiple examples</a></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/f7ff53e761a9fc813d9765073e2752d42347f0b6">Make SVG <code>&lt;title&gt;</code> first child not last</a></th>
<td class="pass">Yandex**</td><td class="pass">Y</td><td class="notTested"></td><td class="notTested"></td><td class="pass">Y</td><td class="pass">Yandex, Firefox and Safari all expose the first <code>title</code> child in <a href="https://chaals.github.io/testcases/title-first-child-manual.svg">raw SVG</a>. In <a href="https://chaals.github.io/testcases/svg-title-first-child-manual.html">SVG embedded in HTML</a>, Firefox and Safari expose the first child <code>title</code> element as a tooltip</td>
</tr>

</table>

<h3 id="tables">Table compatibility fixes</h3>

<table aria-labelledby="tables">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/330">Make <code>&lt;thead&gt;</code> and <code>&lt;tfoot&gt;</code> ordering reflect reality</a></th>
<td class="pass">Y</td><td class="pass">Y</td><td class="notTested">Not Tested</td><td class="notTested">Not Tested</td><td class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/93cb3d61526cf956a739c57398760dc8a3a633bd">Add specific <code>HTMLTableElement</code> types</a></th>
<td class="pass">Yandex</td><td class="pass">Y</td><td class="notTested"></td><td class="notTested"></td><td class="notTested"></td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/da491d4c62c3efb73a96bce7071a0a0dcbfa95d8">Change <code>.tFoot</code> and <code>.createTFoot</code> to always insert at the end</a></th>
<td class="fail">N</td><td class="pass">Y</td><td class="notTested">?</td><td class="notTested">?</td><td class="fail">N</td><td>Related to thead/tfoot ordering issue above, and changed to match what happens there? <a href="http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=3777">test for <code>createTFoot</code></a></td>
</tr>

<tr>
<tr>
<th><a href="https://github.com/whatwg/html/commit/94d55af9cda601ce675d15f6a0e52c9bb9c6afa9">Disallow <code>&lt;tfoot&gt;</code> before <code>&lt;tbody&gt;</code></a></th>
<td colspan="5">No browser behaviour required</td><td>Not implemented in validator.w3.org</td>
</tr>
</table>

<h2>Changes relating to other specifications</h2>

<h3 id="isolated">Isolated integrations</h3>

<table aria-labelledby="isolated">
<tr>
<th></th><th>Blink</th><th>Edge</th><th>Firefox - Gecko</th><th>Internet Explorer</th><th>Safari - Webkit</th><th>Notes</th>
</tr>

<tr>
<th><a href="http://caniuse.com/#feat=requestanimationframe">Add <code>requestAnimationFrame</code></a></th>
<td colspan="5" class="pass">Y</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/pull/157">Add callout to detach from <code>&lt;media&gt;</code></a></th>
<td colspan="5"	>Tests?</td><td>For MSE</td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/pull/431">Use close blob from File API</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/119">Integrate Resource Hints</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/issues/120">Make <code>HTMLAllCollection</code> to match WebIDL</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/w3c/html/pull/404/commits/19177e5919d616732667c8b13fcaa7c2fb0686c8">Integrate encoding specification</a></th>
<td colspan="5" class="notTested">?</td><td></td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/c84f4ca683216e5dfabfa948ce88e2ded1e0573c">Take account of <code>srclang</code> when rendering <code>&lt;track&gt;</code></a></th>
<td colspan="5" class="notTested">?</td><td>For WebVTT - implementation…</td>
</tr>

<tr>
<th><a href="https://github.com/whatwg/html/commit/12db63c7c038b9d8f1d3501d6661d89d495abeac">Define <code>enqueueJob()</code> and <code>nextJob()</code> monkeypatching ECMAScript</a></th>
<td colspan="5" class="notTested">?</td><td>W3C ref/issue?</td>
</tr>
{'fraction_non_alphanumeric': 0.25166704128268524, 'fraction_numerical': 0.03611298419120402, 'mean_word_length': 7.097472194135491, 'pattern_counts': {'":': 0, '<': 2403, '<?xml version=': 0, '>': 2403, 'https://': 109, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3290048', 'n_tokens_mistral': 16814, 'n_tokens_neox': 15804, 'n_words': 2167}