Accessibility / Analysis / Visual Only Icon Detector
The Visual Only Icon Detector bookmarklet identifies icon-only controls that may have insufficient accessible names. Finds small buttons/links (≤40x40px) with no visible text but containing SVG or background images, checks for aria-label, title, or aria-labelledby, flags controls with very short names (<3 characters) as potential issues, outlines problematic icons in red, and displays an alert with the count of at-risk controls. Hover over outlined elements to see their status. Useful for finding icon buttons that need better labels. Run again to remove.
WCAG SC 2.5.3: Label in Name
Run Visual Only Icon Detector
Test run or drag to
bookmarklets bar to install
javascript:%21function()%7B%22use%20strict%22%3Btry%7Bconst%20t%3D%22a11y-icon-only%22%2Ce%3Ddocument.getElementById(t)%3Be%26%26e.remove()%3Bconst%20o%3Ddocument.createElement(%22div%22)%3Bfunction%20n(t)%7Breturn%20t.getAttribute(%22aria-label%22)%7C%7Ct.getAttribute(%22title%22)%7C%7Ct.getAttribute(%22aria-labelledby%22)%7C%7C%22%22%7Do.id%3Dt%2Co.style%3D%22position%3Afixed%3Binset%3A0%3Bpointer-events%3Anone%3Bz-index%3A2147483647%22%3Bconst%20l%3D%27button%2Ca%2C%5Brole%3D%22button%22%5D%27%2Ci%3D%5B...document.querySelectorAll(l)%5D.filter(t%3D%3Et.offsetParent)%3Blet%20r%3D0%3Bi.forEach(t%3D%3E%7Bconst%20e%3Dt.getBoundingClientRect()%2Cl%3D(t.innerText%7C%7C%22%22).trim().length%3E0%2Ci%3Dt.querySelector(%22svg%22)%2Cc%3D%2Furl%5C(%2F.test(getComputedStyle(t).backgroundImage%7C%7C%22%22)%2Ca%3De.width%3C%3D40%26%26e.height%3C%3D40%2Cs%3D(n(t)%7C%7C%22%22).trim()%3Bif(a%26%26%21l%26%26(i%7C%7Cc)%26%26s.length%3C3)%7Br%2B%2B%3Bconst%20t%3Ddocument.createElement(%22div%22)%3Bt.style%3D%60position%3Aabsolute%3Bleft%3A%24%7Be.left%2BscrollX%7Dpx%3Btop%3A%24%7Be.top%2BscrollY%7Dpx%3Bwidth%3A%24%7Be.width%7Dpx%3Bheight%3A%24%7Be.height%7Dpx%3Bborder%3A3px%20solid%20%23e00%60%2Ct.title%3D%22Suspect%20icon%20only%20control%22%2Co.appendChild(t)%7D%7D)%2Cdocument.body.appendChild(o)%2Calert(%60Icon%20only%20risk%20count%3A%20%24%7Br%7D%60)%2Cconsole.log(%22%5CnSource%3A%20https%3A%2F%2Fgithub.com%2Falejandrogiga98%2FA11y-Bookmarklets%5CnBookmarklet%20name%3A%20Visual%20only%20icon%20detector%5CnAuthor%3A%20alejandrogiga98%5CnLicense%3A%20MIT%20License%5Cn%22)%7Dcatch(c)%7Balert(%22Bookmarklet%20Error%3A%20%22%2Bc.message)%7D%7D()%3B
← Back to all bookmarklets