translate-non-html-translation-mode.html (1646B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>Non-HTML elements have a translation mode</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 test(() => { 8 const svgContainer = document.createElement("svg"); 9 const foreignObject = document.createElement("foreignObject"); 10 svgContainer.appendChild(foreignObject); 11 const div = document.createElement("div"); 12 foreignObject.appendChild(div); 13 14 assert_true(div.translate); 15 }, 'Non-HTML elements default to translate-enabled'); 16 17 test(() => { 18 const outerDiv = document.createElement("div"); 19 outerDiv.translate = true; 20 assert_true(outerDiv.translate); 21 22 const svgContainer = document.createElement("svg"); 23 outerDiv.appendChild(svgContainer); 24 const foreignObject = document.createElement("foreignObject"); 25 svgContainer.appendChild(foreignObject); 26 const div = document.createElement("div"); 27 foreignObject.appendChild(div); 28 29 assert_true(div.translate); 30 }, "Non-HTML elements inherit their parent's translation-enabled state"); 31 32 test(() => { 33 const outerDiv = document.createElement("div"); 34 outerDiv.translate = false; 35 assert_false(outerDiv.translate); 36 37 const svgContainer = document.createElement("svg"); 38 outerDiv.appendChild(svgContainer); 39 const foreignObject = document.createElement("foreignObject"); 40 svgContainer.appendChild(foreignObject); 41 const div = document.createElement("div"); 42 foreignObject.appendChild(div); 43 44 assert_false(div.translate); 45 }, "Non-HTML elements inherit their parent's no-translation state"); 46 </script>