JSFiddle - React, Tailwind, and code Playground
HTML
<input id=text type=""></input>
<input id=hidden type="hidden"></input>
<input id=disabled disabled></input>
<input id=readonly readonly></input>
<input id=visiblity-hidden style="visibility:hidden"></input>
<input id=display-none style="display:none"></input>
<div id=div-hidden sytle="visibility:hidden" tabindex=1></input>
<div id=browser-version></div>
<div id=logger></div>
JavaScript
var result = '';
function isFocusable(type) {
var element = document.getElementById(type);
result += type + ' is';
try {
element.focus();
if (element != document.activeElement)
result += ' not';
} catch (e) {
result += ' not (error thrown)';
}
result += ' focusable<br>';
}
isFocusable('text');
isFocusable('hidden');
isFocusable('disabled');
isFocusable('readonly');
isFocusable('visiblity-hidden');
isFocusable('display-none');
isFocusable('div-hidden');
document.getElementById('browser-version').innerHTML = navigator.userAgent;
document.getElementById('logger').innerHTML += result;