{"id":167,"date":"2026-03-13T00:05:47","date_gmt":"2026-03-13T00:05:47","guid":{"rendered":"https:\/\/a11y-tools.com\/blog\/?p=167"},"modified":"2026-03-12T19:37:45","modified_gmt":"2026-03-12T19:37:45","slug":"new-bookmarklet-structure-revealer","status":"publish","type":"post","link":"https:\/\/a11y-tools.com\/blog\/2026\/03\/new-bookmarklet-structure-revealer\/","title":{"rendered":"New bookmarklet \u2013 Structure Revealer"},"content":{"rendered":"<p>Happy Friday, everyone! It\u2019s time for another little bookmarklet. Let&#8217;s call it the &#8216;I wish I were posting this from CSUN&#8217; edition. But I&#8217;m not, alas. You&#8217;re getting it anyway &#8230;<\/p>\n<p>A great many of the tools that I build I\u2019ve done so with the sole purpose of creating an easy way to visualise an issue on the page. In the past I\u2019ve created tools that let you inspect different areas with the page without having to fire up DevTools, like the <a href=\"https:\/\/a11y-tools.com\/bookmarklets\/#elementinspector\">Element Inspector<\/a>:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/el-inspector.png\" alt=\"Element Inspector running on BBC News page, releavling an element as a link, its accessible name and its XPATH location.\"><\/p>\n<p>I have also built <a href=\"https:\/\/github.com\/lloydi\/Diagnostic-CSS-files\">diagnostics CSS files<\/a> that you can apply to any site so that you can see at-a-glance if the correct structural elements have been used to mark up a page. However, I do sometimes find that the diagnostic CSS tool can be just a bit too noisy.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/diagnostic-CSS-example.png\" alt=\"Diagnostic CSS as applied to a BBC News page. Links, list items and landmark areas are highlighted.\"><\/p>\n<p>Showing all the things that essentially hold the page together? Sometimes there\u2019s just too much of it! <\/p>\n<p>I wanted <em>another<\/em> way to visualise how a page is structured, but with the ability to switch off things that I don\u2019t <em>need<\/em> to see. Maybe because I know that they\u2019ve got those bits right and I don\u2019t need to see it again and again? Or maybe because I\u2019m just looking to get a screenshot of one specific aspect when reporting an issue?<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/page-structure-options-set.png\" alt=\"Page structure category with the header, footer and nav elements checked for highlighting on the page\"><\/p>\n<p>This new booklet, <a href=\"https:\/\/a11y-tools.com\/bookmarklets\/#structurerevealer\">Structure Revealer<\/a>, does a similar job to other tools that I\u2019ve created in the past. However, this time, not only can you deselect specific elements, you can also add your own. Perhaps you\u2019re assessing a website where you see a repeated pattern in use? With this tool, you can add some custom CSS selectors, and it will allow you to highlight them on the page. Just add CSS selectors in the textarea at the bottom:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/add-custom-selectors.png\" alt=\"Textare with 4 ARIA attribute selectors in, with an 'Add' button underneath.\"><\/p>\n<p>Now they are available as checkboxes so that you can switch them on\/off as needed:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/aria-examples.png\" alt=\"4 ARIA attribute selector highlight options with 3 of 4 checked. Each checked item shows an instance count button after it.\"><\/p>\n<p>The good news: your choices for what you select and deselect are remembered across sessions! Even the custom choices that you make and add to your arsenal are remembered &#8211;  no need to keep reapplying settings!<\/p>\n<p>Wherever there is a match for any of the selections made, it shows the number of instances on the page:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/headings-chosen.png\" alt=\"2 heading element highlight options with h1 and h2 options selected. Each checked item shows an instance count button after it.\"><\/p>\n<p>That number is a button which, when you click it, will give you details of what those elements are:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/headings-list-in-details-panel.png\" alt=\"A list of all headings in the order that they appear in the document. The heading level and the heading text shows for each.\"><\/p>\n<p>Minimal detail, but enough to help you find where things are on the page (clicking on those entries scrolls the element into view).<\/p>\n<p>There&#8217;s also a parent checkbox that you can use to switch related categories on\/off:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/a11y-tools.com\/blog\/wp-content\/uploads\/2026\/03\/headings.gif\" alt=\"Animated GIF shows individuak headings being turned on\/off and also the parent headings checkbox being toggled, which switches all on\/off.\"><\/p>\n<p>So, give it a spin, hopefully you will find it useful. \ufffc<\/p>\n<p>NOTE: this is also available in the <a href=\"https:\/\/chrome.google.com\/u\/1\/webstore\/devconsole\/b1cbe95e-55e1-454b-8527-1ce200397ab0\/fedddpaapeedmkanpenidomfbebacgoa\/edit\">a11y-tools bookmarklets extension<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Happy Friday, everyone! It\u2019s time for another little bookmarklet. Let&#8217;s call it the &#8216;I wish I were posting this from CSUN&#8217; edition. But I&#8217;m not, alas. You&#8217;re getting it anyway &#8230; A great many of the tools that I build I\u2019ve done so with the sole purpose of creating an easy way to visualise an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-167","post","type-post","status-publish","format-standard","hentry","category-bookmarklets"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/posts\/167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/comments?post=167"}],"version-history":[{"count":3,"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/posts\/167\/revisions"}],"predecessor-version":[{"id":178,"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/posts\/167\/revisions\/178"}],"wp:attachment":[{"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/media?parent=167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/categories?post=167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/a11y-tools.com\/blog\/wp-json\/wp\/v2\/tags?post=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}