HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Any URLs added here will be added as <link>
s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
Any URL's added here will be added as <script>
s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
Search for and use JavaScript packages from npm here. By selecting a package, an import
statement will be added to the top of the JavaScript editor for this package.
Using packages here is powered by Skypack, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ES6 import
usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<h1><a target=_blank title="[new window]" href="https://websemantics.uk/articles/removing_svg_keyboard_focus_in_internet_explorer/">Removing <abbr title="scalable vector graphics">SVG</abbr> keyboard focus in Internet Explorer</a></h1>
<p class=smaller><a target=_blank title="[new window]" href="https://www.linkedin.com/in/mikefoskett">Mike Foskett</a> - <a target=_blank title="[new window]" href="https://websemantics.uk/">webSemantics.uk</a> - <time datetime="2016-08-18">August 2016</time></p>
<p>In Internet Explorer SVGs receive keyboard focus while tabbing through HTML content. This proves somewhat disorientating to both screen-reader and keyboard-only users. Presented here is a JavaScript fix.</p>
<p>The fix entails detecting IE then adding the attribute <code>focusable="false"</code>.</p>
<p>Code available here: <a target=_blank title="[new window]" href="https://websemantics.uk/articles/removing_svg_keyboard_focus_in_internet_explorer/">Removing <abbr title="scalable vector graphics">SVG</abbr> keyboard focus in Internet Explorer</a></p>
<h2>The SVG test subjects</h2>
<p>Most do not have titles though.</p>
<p>Visually:<br>A red border indicates an object has focus.<br>Cyan SVGs indicates IE fix not applied.<br>Green SVGs indicates fix applied.</p>
<p class=size1><button id=ieFixBtn class=toggler aria-pressed=false>Apply IE SVG focus fix</button></p>
<ol>
<li><svg class=svg-finest><title>finest</title><use xlink:href="#icon-finest"></use></svg></li>
<!-- No title at all on CTA -->
<li><svg class=svg><use xlink:href="#icon-cta"></use></svg></li>
<li><svg class=svg><use xlink:href="#icon-logo"></use></svg></li>
<li><svg class=svg><use xlink:href="#icon-youtube-play"></use></svg>
<li><svg class=svg><use xlink:href="#icon-loading"></use></svg></li>
<li><svg class=svg><title>Play</title><use xlink:href="#icon-play"></use></svg></li>
<li><svg class=svg><use xlink:href="#icon-pause"></use></svg></li>
<li><svg class=svg viewBox="0 0 154 59">
<title>Tesco</title>
<path class="txt" d="M104.7 11.8c-10.1 0-16.7 4.9-16.7 12.4 0 6.9 6.2 11.3 15.2 11.3 3 0 5.6-.3 8.8-1.1l0-5.7c-2.3 2.4-4.8 3.2-7.7 3.2 -5.4 0-9.2-3.3-9.2-8.5 0-4.8 3.9-8.5 9.4-8.5 3 0 5.3 1.1 7.1 3l0-5.7c-2.1-.3-6.9-.5-6.9-.5ZM28.6 15.7c3.8 0 8.2 .8 10.1 2.3l0-5.4 -26.7 0 0 5.4c1.8-1.5 5.7-2.1 10.3-2.1l0 14.9c0 2.3-.2 2.9-1.1 3.9l8.6 0c-.9-1.1-1.1-1.8-1.1-3.9l-.2-15.1 0 0ZM56.3 21.2c-1.5 .6-4.2 .6-5.7 .6l-2.3 0 0-6 3 0c2.6 0 7.2 .6 9.2 2.1l0-5.4 -19.5 0c.9 1.1 1.1 1.8 1.1 3.9l0 14.3c0 2.3-.2 2.9-.9 3.9l20.7 0 0-5.4c-2.9 2.1-8.2 2.1-10.4 2.1l-3 0 0-6.2 2.3 0c1.5 0 4.1 .2 5.7 .6l0-4.7 -.2 .2ZM84.9 13.2c-3-.9-6.8-1.4-10-1.4 -5.6 0-11 1.7-11 7.2 0 9.7 16.8 4.7 16.8 10.6 0 1.8-3 2.9-5.4 2.9 -4.2 0-7.2-.8-11.2-3l0 4.8c2.9 .9 6.8 1.4 10.9 1.4 5.7 0 11.2-1.5 11.2-7.2 0-10.1-16.8-5.6-16.8-10.6 0-2.1 2.9-2.9 5-2.9 3.9 0 8.2 1.1 10.6 3.3l0-5ZM128.5 11.8c-8.8 0-14.9 5-14.9 12.1 0 6.9 5.6 11.8 13.9 11.8 8.8 0 14.8-4.8 14.8-12.1 0-7.1-5.6-11.8-13.7-11.8M128.1 32.2c-4.7 0-7.7-3.9-7.7-8.6 0-4.7 3-8.6 7.7-8.6 4.5 0 7.7 3.9 7.7 8.6 0 4.7-3 8.6-7.7 8.6"></path>
<path class="ln" d="M21.3 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.6 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6M142.8 41.1c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.6 0 0-.2c1.7-.9 4.1-3.3 4.1-3.3 1.1-1.1 3.2-2.6 5.7-2.6M47.6 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.3 2.6l-15.2 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6M74 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.2 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6M100.4 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.2 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6"></path>
</svg></li>
<li><svg class=svg viewBox="0 0 30 30">
<title>Select</title>
<path d="M23.2,9.7c-.3-.3-.8-.3-1.2,0l-6.8,6.8L8.4,9.7C8,9.4,7.5,9.4,7.2,9.7l-.9,.9c-.3,.3-.3,.8,0,1.2 l8.3,8.3c.3,.3,.8,.3,1.2,0l8.3-8.3c.3-.3,.3-.8,0-1.2L23.2,9.7z"></path>
</svg></li>
<li><svg class=svg viewBox="0 0 30 30">
<title>Search</title>
<path d="M13,7.1c3.1,0,5.7,2.5,5.7,5.7s-2.5,5.7-5.7,5.7s-5.7-2.5-5.7-5.7S9.8,7.1,13,7.1 M13,4.4 c-4.6,0-8.3,3.7-8.3,8.3s3.7,8.3,8.3,8.3s8.3-3.7,8.3-8.3S17.6,4.4,13,4.4L13,4.4z M27.7,25.6l-7.4-7.4c-.6,.8-1.4,1.6-2.2,2.2 l3.9,3.9C23.7,25.9,25.7,25,27.7,25.6C27.8,25.7,27.8,25.7,27.7,25.6z"></path>
</svg></li>
</ol>
<svg class=svg-defs style="display:none">
<defs>
<symbol viewBox='0 0 59 25' id="icon-finest">
<path d="M7.367,8.806C7.296,9.165 7.225,9.089 6.095,9.089C5.388,9.089 5.041,9.69 5.041,9.913C5.041,10.037 5.129,10.09 6.819,10.09C7.013,10.09 7.131,10.196 7.084,10.479C5.317,20.189 5.158,23.174 3.039,23.174C1.831,23.174 2.108,22.132 1.06,22.132C0.477,22.132 0,22.621 0,23.198C0,23.675 0.336,24.364 1.678,24.364C4.063,24.364 6.719,21.861 7.42,18.257C8.056,14.983 8.821,10.909 8.915,10.355C8.951,10.137 9.092,10.066 9.245,10.066C11.206,10.066 11.712,9.201 11.712,9.059C11.712,9.024 11.724,8.942 11.542,8.942C11.359,8.942 9.569,9.048 9.381,9.048C9.165,9.048 9.127,8.959 9.153,8.8C10.047,3.224 11.765,3.147 12.504,3.147C13.316,3.147 13.897,3.565 13.897,4.425C13.897,5.144 14.533,5.603 15.075,5.603C15.501,5.603 16.26,5.267 16.26,4.419C16.26,3.464 15.353,2.299 13.811,2.299C11.767,2.299 8.265,3.789 7.342,8.783L7.367,8.806ZM11.813,9.866C11.813,9.972 11.895,10.019 12.007,10.019C12.213,10.019 12.678,9.79 13.102,9.79C13.267,9.79 13.461,9.813 13.461,10.161C13.461,10.614 11.913,16.108 11.913,17.186C11.913,18.116 12.048,19.188 13.114,19.188C14.003,19.188 16.129,17.945 16.129,17.468C16.129,17.339 16.094,17.198 15.899,17.198C15.64,17.198 14.839,17.875 14.192,17.875C13.779,17.875 13.673,17.433 13.673,17.221C13.673,16.049 15.281,10.373 15.281,9.301C15.281,9.112 15.234,8.583 14.586,8.583C13.632,8.583 11.801,9.495 11.801,9.849L11.813,9.866ZM19.884,12.873C19.83,12.873 19.746,12.827 19.746,12.722C19.746,12.593 20.276,10.661 20.276,9.495C20.276,9.059 20.287,8.488 19.457,8.488C18.309,8.488 16.065,10.002 16.048,10.426C16.048,10.514 16.095,10.708 16.201,10.708C16.295,10.708 17.52,9.884 18.15,9.884C18.362,9.884 18.474,9.966 18.474,10.361C18.474,11.698 16.825,18.01 16.825,18.84C16.825,18.899 16.86,18.964 16.943,18.964C17.149,18.964 18.427,18.475 18.733,18.204C18.733,18.204 18.727,18.148 18.727,17.863C18.727,17.24 19.298,15.307 19.416,15.013C20.158,13.206 22.89,9.825 24.021,9.825C24.356,9.825 24.822,9.955 24.822,10.85C24.822,11.947 23.591,16.167 23.591,17.294C23.591,17.928 23.762,19.069 24.845,19.069C25.793,19.069 27.813,17.776 27.813,17.355C27.813,17.255 27.778,17.079 27.566,17.079C27.358,17.079 26.453,17.756 25.903,17.756C25.679,17.756 25.367,17.632 25.367,17.031C25.367,15.91 26.556,11.818 26.556,10.301C26.556,9.761 26.4,8.658 25.064,8.658C22.5,8.658 20.273,12.848 19.911,12.848L19.884,12.873ZM28.072,15.25C28.072,18.434 29.903,19.031 31.048,19.031C33.92,19.031 36.31,16.887 36.31,16.393C36.31,16.312 36.304,16.103 36.116,16.103C35.892,16.103 34.656,17.616 32.512,17.616C30.263,17.616 29.939,15.54 29.939,14.849C29.939,14.548 29.962,14.143 30.304,14.058C34.962,12.875 36.381,11.567 36.381,10.282C36.381,9.655 35.874,8.684 34.555,8.684C29.214,8.684 28.078,13.558 28.078,15.25L28.072,15.25ZM38.149,12.019C38.149,14.107 42.233,14.81 42.233,16.702C42.233,17.228 41.756,18.148 40.349,18.148C38.576,18.148 37.746,16.823 37.587,16.423C37.328,15.763 36.721,16.337 36.721,17.61C36.721,19.029 38.871,19.029 39.171,19.029C41.303,19.029 43.858,17.504 43.858,15.678C43.858,13.541 39.542,12.834 39.542,11.038C39.542,9.625 41.102,9.601 41.102,9.601C42.504,9.601 43.152,10.673 43.222,10.673C43.293,10.673 44.188,9.719 44.188,9.295C44.188,9.118 43.888,8.653 42.439,8.653C40.708,8.653 38.129,9.937 38.129,12.01L38.149,12.019ZM47.881,6.201C47.712,6.821 47.376,8.287 47.297,8.627C47.233,8.901 47.152,8.917 45.915,8.917C45.223,8.917 44.916,9.347 44.855,9.538C44.793,9.736 44.87,9.715 44.938,9.721C45.097,9.734 46.589,9.802 46.787,9.807C46.903,9.807 47.052,9.849 47.003,10.137C46.955,10.42 45.905,15.661 45.789,16.267C45.436,18.093 45.94,19.023 46.881,19.023C48.174,19.023 49.902,17.71 49.901,17.345C49.899,17.203 49.846,17.05 49.666,17.05C49.486,17.05 48.834,17.486 48.335,17.663C47.837,17.845 47.283,17.627 47.476,16.65C48.422,11.798 48.445,11.68 48.771,10.108C48.811,9.913 48.924,9.772 49.145,9.772C50.132,9.772 51.846,9.584 52.444,9.065C52.598,8.93 52.464,8.765 52.353,8.765C52.239,8.765 51.568,8.9 49.294,8.9C49.042,8.9 49.04,8.712 49.082,8.494C49.194,7.882 49.369,6.993 49.567,6.127C49.839,4.932 50.076,4.861 50.076,4.714C50.076,4.619 50.001,4.561 49.901,4.561C49.171,4.561 48.099,5.397 47.881,6.18L47.881,6.201ZM33.377,9.579C34.191,9.579 34.602,10.182 34.602,10.812C34.602,11.86 33.832,12.72 30.383,13.351C30.198,13.385 30.1,13.286 30.13,13.088C30.384,11.427 31.665,9.578 33.378,9.578L33.377,9.579ZM58.349,3.107C58.646,3.187 58.638,3.301 58.352,3.394L56.095,4.134L56.395,6.553C56.413,6.732 56.313,6.732 56.124,6.529L54.458,4.698L52.126,5.485C51.914,5.555 51.873,5.449 51.967,5.308L53.286,3.376L51.513,1.471C51.513,1.471 51.455,1.274 51.596,1.311C51.755,1.352 54.169,2 54.169,2C54.169,2 55.4,0.163 55.453,0.092C55.547,-0.043 55.63,-0.031 55.647,0.139L55.9,2.471L58.338,3.125L58.349,3.107Z"/>
</symbol>
<symbol viewBox="0 0 30 30" id="icon-cta">
<path d="M10,6.9C9.7,7.2,9.7,7.7,10,8l6.8,6.8L10,21.7c-0.3,0.3-0.3,0.8,0,1.2l0.9,0.9c0.3,0.3,0.8,0.3,1.2,0l8.3-8.3c0.3-0.3,0.3-0.8,0-1.2L12.1,6c-0.3-0.3-0.8-0.3-1.2,0L10,6.9z"/>
</symbol>
<symbol viewBox="0 0 154 59" id="icon-logo">
<title>Tesco</title>
<path d="M104.7 11.8c-10.1 0-16.7 4.9-16.7 12.4 0 6.9 6.2 11.3 15.2 11.3 3 0 5.6-.3 8.8-1.1l0-5.7c-2.3 2.4-4.8 3.2-7.7 3.2 -5.4 0-9.2-3.3-9.2-8.5 0-4.8 3.9-8.5 9.4-8.5 3 0 5.3 1.1 7.1 3l0-5.7c-2.1-.3-6.9-.5-6.9-.5ZM28.6 15.7c3.8 0 8.2 .8 10.1 2.3l0-5.4 -26.7 0 0 5.4c1.8-1.5 5.7-2.1 10.3-2.1l0 14.9c0 2.3-.2 2.9-1.1 3.9l8.6 0c-.9-1.1-1.1-1.8-1.1-3.9l-.2-15.1 0 0ZM56.3 21.2c-1.5 .6-4.2 .6-5.7 .6l-2.3 0 0-6 3 0c2.6 0 7.2 .6 9.2 2.1l0-5.4 -19.5 0c.9 1.1 1.1 1.8 1.1 3.9l0 14.3c0 2.3-.2 2.9-.9 3.9l20.7 0 0-5.4c-2.9 2.1-8.2 2.1-10.4 2.1l-3 0 0-6.2 2.3 0c1.5 0 4.1 .2 5.7 .6l0-4.7 -.2 .2ZM84.9 13.2c-3-.9-6.8-1.4-10-1.4 -5.6 0-11 1.7-11 7.2 0 9.7 16.8 4.7 16.8 10.6 0 1.8-3 2.9-5.4 2.9 -4.2 0-7.2-.8-11.2-3l0 4.8c2.9 .9 6.8 1.4 10.9 1.4 5.7 0 11.2-1.5 11.2-7.2 0-10.1-16.8-5.6-16.8-10.6 0-2.1 2.9-2.9 5-2.9 3.9 0 8.2 1.1 10.6 3.3l0-5ZM128.5 11.8c-8.8 0-14.9 5-14.9 12.1 0 6.9 5.6 11.8 13.9 11.8 8.8 0 14.8-4.8 14.8-12.1 0-7.1-5.6-11.8-13.7-11.8M128.1 32.2c-4.7 0-7.7-3.9-7.7-8.6 0-4.7 3-8.6 7.7-8.6 4.5 0 7.7 3.9 7.7 8.6 0 4.7-3 8.6-7.7 8.6"/>
<path d="M21.3 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.6 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6M142.8 41.1c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.6 0 0-.2c1.7-.9 4.1-3.3 4.1-3.3 1.1-1.1 3.2-2.6 5.7-2.6M47.6 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.3 2.6l-15.2 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6M74 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.2 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6M100.4 41.1l16 0c.2 0 .2 0 0 .2 -1.8 .8-4.5 3.3-4.5 3.3 -1.8 1.7-3.2 2.6-6.2 2.6l-15.2 0 0-.2c1.7-.9 4.2-3.3 4.2-3.3 .9-1.1 3.2-2.6 5.7-2.6"/>
</symbol>
<symbol viewBox="0 0 224 170" id="icon-youtube-play">
<title>Play video</title>
<path fill="white" d="M92 111l54-28L92 55V111z"/>
<path d="M209 46c0 0-2-14-8-20-7-8-16-8-20-8-28-2-69-2-69-2h0c0 0-42 0-69 2-4 1-12 1-20 8-6 6-8 20-8 20s-2 16-2 32v15c0 16 2 32 2 32s2 14 8 20c8 8 18 8 22 8 16 2 67 2 67 2s42 0 69-2c4 0 12 0 20-8 6-6 8-20 8-20s2-16 2-32v-15C211 62 209 46 209 46zM92 111V55l54 28L92 111z"/>
</symbol>
<symbol viewBox='0 0 150 130' id="icon-loading">
<title>Loading</title>
<path d='M81.5 33l30.8-32.8c0.3-0.3 0.5-0.2 0.3 0.3 -1.8 5.2-1.7 15.3-1.7 15.3 -0.1 6.8-0.8 11.7-6.6 17.9L74.8 65.1c-0.2 0.2-0.4 0-0.3-0.2 1.5-5.1 1.2-15.1 1.2-15.1C75.4 45.6 76.4 38.4 81.5 33M105.9 54.8l43.8 10.3c0.4 0.1 0.4 0.4-0.2 0.4 -5.4 1-14.1 6.1-14.1 6.1 -6 3.3-10.5 5.2-18.8 3.2l-41.9-9.9c-0.3-0.1-0.2-0.3 0-0.4 5.2-1.3 13.7-6.5 13.7-6.5C92 55.9 98.7 53.1 105.9 54.8M99.4 86.3l13 43.2c0.1 0.4-0.1 0.5-0.4 0.1 -3.6-4.2-12.4-9.2-12.4-9.2 -5.8-3.5-9.7-6.5-12.2-14.6L75 64.5c-0.1-0.3 0.2-0.4 0.3-0.2 3.7 3.9 12.5 8.6 12.5 8.6C91.5 74.8 97.3 79.2 99.4 86.3M68.7 97l-30.8 32.8c-0.3 0.3-0.5 0.2-0.3-0.3 1.8-5.2 1.7-15.3 1.7-15.3 0.1-6.8 0.8-11.7 6.6-17.9l29.5-31.4c0.2-0.2 0.4 0 0.3 0.2 -1.5 5.1-1.2 15.1-1.2 15.1C74.8 84.4 73.8 91.6 68.7 97M44.1 75.8L0.3 65.4C-0.1 65.3-0.1 65 0.5 65c5.4-1 14.1-6.1 14.1-6.1 6-3.3 10.5-5.2 18.8-3.2l41.9 9.9c0.3 0.1 0.2 0.3 0 0.4 -5.2 1.3-13.7 6.5-13.7 6.5C58.1 74.7 51.3 77.5 44.1 75.8M50.2 43.8l-13-43.2c-0.1-0.4 0.1-0.5 0.4-0.1C41.2 4.7 50 9.7 50 9.7c5.8 3.5 9.7 6.5 12.2 14.6l12.4 41.3c0.1 0.3-0.2 0.4-0.3 0.2 -3.7-3.9-12.5-8.6-12.5-8.6C58.1 55.4 52.4 50.9 50.2 43.8'/>
</symbol>
<symbol viewBox="0 0 23 23" id="icon-play">
<title>Play audio</title>
<path d="M11.6,0.2C5.2,0.2,0.1,5.4,0.1,11.7s5.1,11.5,11.5,11.5c6.3,0,11.5-5.1,11.5-11.5S17.9,0.2,11.6,0.2z M17.6,12.1l-9.7,5.6c-0.3,0.2-0.6,0-0.6-0.4V6.2c0-0.4,0.3-0.6,0.6-0.4l9.7,5.6C18,11.6,18,11.9,17.6,12.1z"/>
</symbol>
<symbol viewBox="0 0 23 23" id="icon-pause">
<title>Pause audio</title>
<path d="M23.1 11.7c0 6.4-5.1 11.5-11.5 11.5S0.1 18.1 0.1 11.7 5.2 0.2 11.6 0.2 23.1 5.3 23.1 11.7zM10.3 17V6.3c0-0.3-0.3-0.6-0.6-0.6H7.1c-0.3 0-0.6 0.3-0.6 0.6V17c0 0.3 0.3 0.6 0.6 0.6h2.6C10 17.6 10.3 17.4 10.3 17zM16.5 17V6.3c0-0.3-0.3-0.6-0.6-0.6h-2.6c-0.3 0-0.6 0.3-0.6 0.6V17c0 0.3 0.3 0.6 0.6 0.6h2.6C16.3 17.6 16.5 17.4 16.5 17z"/>
</symbol>
</defs>
</svg>
<p class=smaller><a target=_blank title="[new window]" href="https://codepen.io/2kool2">Pens by Mike Foskett</a> — <a target=_blank title="[new window]" href="https://websemantics.uk/">webSemantics</a></p>
.size1 {
font-size: 1rem;
}
svg {
width: 50px;
height: 50px;
vertical-align: middle;
}
svg[class^="svg"] {
fill: #0ff;
}
svg[focusable="false"] {
fill: #0f0;
}
a:focus,
:focus {
outline: 3px solid red;
}
// is it IE and which version
var ie = (function(){
var undef;
var rv = -1; // Return value assumes failure.
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
var trident = ua.indexOf('Trident/');
if (msie > 0) {
// IE 10 or older => return version number
rv = parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
} else if (trident > 0) {
// IE 11 (or newer) => return version number
var rvNum = ua.indexOf('rv:');
rv = parseInt(ua.substring(rvNum + 3, ua.indexOf('.', rvNum)), 10);
}
return ((rv > -1) ? rv : undef);
}());
function addNotFocusable() {
var svgs = document.getElementsByTagName("svg");
var i = svgs.length;
while (i--) {
svgs[i].setAttribute("focusable", "false");
}
}
// Remove attribute
function removeNotFocusable() {
var svgs = document.getElementsByTagName("svg");
var i = svgs.length;
while (i--) {
svgs[i].removeAttribute("focusable");
}
}
// Toggle button actions
var ieFixBtn = document.getElementById("ieFixBtn");
if (ieFixBtn) {
ieFixBtn.addEventListener("click", function () {
if (ieFixBtn.getAttribute("aria-pressed") === "false") {
addNotFocusable();
//report('Attribute focusable="false" added', true);
ieFixBtn.setAttribute("aria-pressed", "true");
ieFixBtn.innerHTML = "Remove IE SVG focus fix";
} else {
removeNotFocusable();
//report('Attribute focusable="false" removed', true);
ieFixBtn.setAttribute("aria-pressed", "false");
ieFixBtn.innerHTML = "Apply IE SVG focus fix";
}
}, false);
}
if (ie) {
//report("Browser is IE v" + ie, false);
} else {
//report("Browser is not IE", false);
}
Also see: Tab Triggers