{"id":11753,"date":"2022-07-24T03:57:14","date_gmt":"2022-07-24T03:57:14","guid":{"rendered":"https:\/\/www.htmlgoodies.com\/?p=11753"},"modified":"2022-07-25T04:27:43","modified_gmt":"2022-07-25T04:27:43","slug":"javascript-element-focus","status":"publish","type":"post","link":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/","title":{"rendered":"How to Determine Which Element Has Focus in JavaScript"},"content":{"rendered":"

Baking accessibility into your web apps should be second nature now, as we sail through the third decade of the 21st century. One of the key components of accessibility is keyboard navigation, allowing users who have difficulty using a mouse to navigate your application. Unfortunately, ensuring that all interactive elements are accessible via the keyboard is a task that is all-too-often overlooked by web developers. A prime example of poor focus management is not resetting the focus on the triggering element upon closing a modal dialog. Even an application built using a framework like Angular is not immune to such oversights. I recently worked on a bug where the developer disabled the triggering element after clicking it, thereby breaking the control’s built-in focus handling. Should you need to take charge of the focus in your application, this web development tutorial will show you how to do it with ease!<\/p>\n

Looking to learn web development in a course or class format? Check out our tutorial listing some of the Best Online Courses to Learn HTML<\/a>.<\/p>\n

JavaScript’s document.activeElement Property<\/h2>\n

You may have already heard about the document.activeElement<\/strong> property, since it has been around for a while, but in case you have not been properly acquainted, the document.activeElement<\/strong> property returns the HTML element that is currently focused.<\/p>\n

To give you an idea of how it works, here’s some (jQuery-assisted) code, that tracks the focus as you click on the various page elements:<\/p>\n

$(document).ready(function(){\r\n $(this).click(function() {\r\n    var activeElement = document.activeElement;\r\n    console.log(activeElement.tagName, activeElement.type || 'N\/A');\r\n  });\r\n});\r\n<\/pre>\n

Since click events bubble up from the originating element, we can capture them at the document level. In the bound function, we obtain a reference to the focused element from the document.activeElement<\/strong> property and print its tag name and type to the console. Here is some sample output:<\/p>\n

\"Focusing<\/p>\n

 <\/p>\n

What is great about document.activeElement<\/strong> is that programmers do not need any type of event listener or Observable style subscribe handler to keep track of what element is focused; you can check the activeElement<\/strong> property any time you need to know which element currently has the focus.<\/p>\n

Read:<\/strong> Project Management Tools for Web Developers<\/a><\/p>\n

Focusable vs. Tabbable Elements in JavaScript<\/h3>\n

Now would be an opportune time to cover the difference between focusable<\/em> and tabbable<\/em> elements. Some elements are natively focusable, while others require explicitly setting a tab index. In all cases, the element must be visible in order to be focusable.<\/p>\n

Form controls like input<\/em>, select<\/em>, textarea<\/em>, and button<\/em> are all focusable if they are not disabled, as are objects. Other elements, such as anchors<\/em>, are focusable if they have an href<\/strong> or tabindex<\/strong> attribute. Meanwhile, area<\/em> elements are focusable if they are inside a named map<\/em>, have an href<\/strong> attribute, and there is a visible image using the map. Other elements are focusable based solely on their tabindex<\/strong> attribute and visibility. Elements with a negative tabindex<\/strong> are said to be focusable, but not tabbable.<\/p>\n

And now for the good news; the activeElement<\/strong> property will not only identify traditionally focusable elements, like form fields and links, but any element with a zero or positive tabIndex<\/strong> value – in other words, any focusable element, whether tabbable or not.<\/p>\n

Verify an Element Already Has Focus in JavaScript<\/h2>\n

Sometimes web developers have to set the focus programmatically so that it does not get lost. Nothing wrong with that, but you may want to check that no other element already has the focus before setting it. Otherwise, you run the risk of moving the focus, which will annoy the user to no end.<\/p>\n

A big clue to determining whether or not any element is currently focused was provided in the above code. If you click somewhere in the document that is not occupied by a form control, you will see the output “BODY N\/A<\/strong>“. That is because the document.body<\/strong> retains the focus as long as you are on that page. With that in mind, let’s refactor our callback function to print a different message when no form element has the focus:<\/p>\n

$(document).ready(function(){\r\n $(this).click(function() {\r\n    var activeElement = document.activeElement;\r\n    var output = activeElement === document.body \r\n\t             ? \"No element has focus.\" \r\n\t\t\t\t : activeElement.tagName + ', ' + activeElement.type;\r\n    console.log(output);\r\n  });\r\n});\r\n<\/pre>\n

Here’s some sample output with our new message:<\/p>\n

\"JavaScript<\/p>\n

 <\/p>\n

Checking a Specific Element for Focus in JavaScript<\/h2>\n

Sometimes you do not want to know which element currently has the focus, only whether or not a particular element has it. For those situations, you can simply compare the activeElement<\/strong> against the one in question, much like we did above with the document.body<\/strong>:<\/p>\n

\/\/ dummy element\r\nvar myElement = document.getElementById('myElement');\r\n\r\n\/\/ check for focus\r\nvar isFocused = (document.activeElement === myElement);\r\n<\/pre>\n

Other times, programmers may be interested in checking if an element does not currently have the focus. For instance, perhaps a developer would like to know if an element does not have the focus before setting it programmatically. The following code snippet shows how you might go about doing that:<\/p>\n

var activeElement = document.activeElement;\r\nvar myElement = document.getElementById('my-element');\r\nif (activeElement !== myElement) {\r\n\tmyElement.focus();\r\n});\r\n<\/pre>\n

Checking if the Document Has the Focus in JavaScript<\/h2>\n

Although an element with focus is always the active element in the document, an active element does not necessarily have focus. For example, an active element within a popup window that is not the foreground does not have focus. In such cases, you will also want to check if the entire document has the focus. To do that, you can use the hasFocus()<\/strong> method of the Document<\/strong> interface. It returns a boolean<\/strong> value indicating whether the document or any element inside the document has focus.<\/p>\n

The following code invokes document.hasFocus()<\/strong> every 300 milliseconds and presents a message displaying the result. In addition, it also changes the page’s background color from white<\/strong> to gray<\/strong> whenever the page loses the focus:<\/p>\n

function checkPageFocus() {\r\n  const log = document.getElementById('log');\r\n\r\n  if (document.hasFocus()) {\r\n    log.textContent = 'This document has the focus.';\r\n    document.body.style.background = '#fff';\r\n  }\r\n  else {\r\n    log.textContent = 'This document does not have the focus.';\r\n    document.body.style.background = '#ccc';\r\n  }\r\n}\r\n\r\n\/\/ Check page focus every 300 milliseconds\r\nsetInterval(checkPageFocus, 300);\r\n<\/pre>\n

You can see the above code in action in the codepen demo<\/a>. There, you can see it in action by clicking the “Open a new window<\/strong>” button. Once the new window receives the focus, the triggering page color and message change. Closing the new window then changes them back as the focus returns to the main document.<\/p>\n

Final Thoughts on Element Focus in JavaScript<\/h2>\n

In this JavaScript tutorial we learned how to determine which element has the focus, which is a crucial factor in focus management. In the process, we also covered the difference between focusable and tabbable elements, as well as how to check if the entire document has the focus. Armed with that knowledge, you’ll be able to make your web pages and applications more accessible to those who have difficulty in using a mouse.<\/p>\n

Read more JavaScript programming and web development tutorials<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"

Baking accessibility into your web apps should be second nature now, as we sail through the third decade of the 21st century. One of the key components of accessibility is keyboard navigation, allowing users who have difficulty using a mouse to navigate your application. Unfortunately, ensuring that all interactive elements are accessible via the keyboard […]<\/p>\n","protected":false},"author":90,"featured_media":11500,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[30620],"tags":[3385,2544],"b2b_audience":[37],"b2b_industry":[65],"b2b_product":[69,70,71,76,131,68,118,81,82,133,83,84,107,86,93,94,99,114,115,116,85,522,117,80,128,98,135],"acf":[],"yoast_head":"\nHow to Determine Which Element Has Focus in JavaScript<\/title>\n<meta name=\"description\" content=\"Learn how to create tabbable and focusable HTML elements in JavaScript, alongside code examples and use cases.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Determine Which Element Has Focus in JavaScript\" \/>\n<meta property=\"og:description\" content=\"Learn how to create tabbable and focusable HTML elements in JavaScript, alongside code examples and use cases.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/\" \/>\n<meta property=\"og:site_name\" content=\"HTML Goodies\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-24T03:57:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-25T04:27:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@htmlgoodies\" \/>\n<meta name=\"twitter:site\" content=\"@htmlgoodies\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rob Gravelle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.htmlgoodies.com\/#organization\",\"name\":\"HTML Goodies\",\"url\":\"https:\/\/www.htmlgoodies.com\/\",\"sameAs\":[\"https:\/\/twitter.com\/htmlgoodies\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.htmlgoodies.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/03\/HTMLg_weblogo_MobileLogo.png\",\"contentUrl\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/03\/HTMLg_weblogo_MobileLogo.png\",\"width\":584,\"height\":136,\"caption\":\"HTML Goodies\"},\"image\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.htmlgoodies.com\/#website\",\"url\":\"https:\/\/www.htmlgoodies.com\/\",\"name\":\"HTML Goodies\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.htmlgoodies.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#primaryimage\",\"url\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg\",\"contentUrl\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg\",\"width\":2560,\"height\":1707,\"caption\":\"JavaScript Tutorial\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#webpage\",\"url\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/\",\"name\":\"How to Determine Which Element Has Focus in JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#primaryimage\"},\"datePublished\":\"2022-07-24T03:57:14+00:00\",\"dateModified\":\"2022-07-25T04:27:43+00:00\",\"description\":\"Learn how to create tabbable and focusable HTML elements in JavaScript, alongside code examples and use cases.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.htmlgoodies.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Determine Which Element Has Focus in JavaScript\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/#\/schema\/person\/d340101131281902e682ad0190b7ac75\"},\"headline\":\"How to Determine Which Element Has Focus in JavaScript\",\"datePublished\":\"2022-07-24T03:57:14+00:00\",\"dateModified\":\"2022-07-25T04:27:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#webpage\"},\"wordCount\":1056,\"publisher\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg\",\"keywords\":[\"JavaScript\",\"Web development\"],\"articleSection\":[\"Javascript\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.htmlgoodies.com\/#\/schema\/person\/d340101131281902e682ad0190b7ac75\",\"name\":\"Rob Gravelle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.htmlgoodies.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/05\/rob-gravelle-150x150.jpg\",\"contentUrl\":\"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/05\/rob-gravelle-150x150.jpg\",\"caption\":\"Rob Gravelle\"},\"description\":\"Rob Gravelle resides in Ottawa, Canada, and has been an IT guru for over 20 years. In that time, Rob has built systems for intelligence-related organizations such as Canada Border Services and various commercial businesses. In his spare time, Rob has become an accomplished music artist with several CDs and digital releases to his credit.\",\"url\":\"https:\/\/www.htmlgoodies.com\/author\/rob-gravelle\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Determine Which Element Has Focus in JavaScript","description":"Learn how to create tabbable and focusable HTML elements in JavaScript, alongside code examples and use cases.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/","og_locale":"en_US","og_type":"article","og_title":"How to Determine Which Element Has Focus in JavaScript","og_description":"Learn how to create tabbable and focusable HTML elements in JavaScript, alongside code examples and use cases.","og_url":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/","og_site_name":"HTML Goodies","article_published_time":"2022-07-24T03:57:14+00:00","article_modified_time":"2022-07-25T04:27:43+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_creator":"@htmlgoodies","twitter_site":"@htmlgoodies","twitter_misc":{"Written by":"Rob Gravelle","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.htmlgoodies.com\/#organization","name":"HTML Goodies","url":"https:\/\/www.htmlgoodies.com\/","sameAs":["https:\/\/twitter.com\/htmlgoodies"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.htmlgoodies.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/03\/HTMLg_weblogo_MobileLogo.png","contentUrl":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/03\/HTMLg_weblogo_MobileLogo.png","width":584,"height":136,"caption":"HTML Goodies"},"image":{"@id":"https:\/\/www.htmlgoodies.com\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.htmlgoodies.com\/#website","url":"https:\/\/www.htmlgoodies.com\/","name":"HTML Goodies","description":"","publisher":{"@id":"https:\/\/www.htmlgoodies.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.htmlgoodies.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#primaryimage","url":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg","contentUrl":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg","width":2560,"height":1707,"caption":"JavaScript Tutorial"},{"@type":"WebPage","@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#webpage","url":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/","name":"How to Determine Which Element Has Focus in JavaScript","isPartOf":{"@id":"https:\/\/www.htmlgoodies.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#primaryimage"},"datePublished":"2022-07-24T03:57:14+00:00","dateModified":"2022-07-25T04:27:43+00:00","description":"Learn how to create tabbable and focusable HTML elements in JavaScript, alongside code examples and use cases.","breadcrumb":{"@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.htmlgoodies.com\/"},{"@type":"ListItem","position":2,"name":"How to Determine Which Element Has Focus in JavaScript"}]},{"@type":"Article","@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#article","isPartOf":{"@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#webpage"},"author":{"@id":"https:\/\/www.htmlgoodies.com\/#\/schema\/person\/d340101131281902e682ad0190b7ac75"},"headline":"How to Determine Which Element Has Focus in JavaScript","datePublished":"2022-07-24T03:57:14+00:00","dateModified":"2022-07-25T04:27:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#webpage"},"wordCount":1056,"publisher":{"@id":"https:\/\/www.htmlgoodies.com\/#organization"},"image":{"@id":"https:\/\/www.htmlgoodies.com\/javascript\/javascript-element-focus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2022\/03\/JavaScript-Engine-tutorial-scaled.jpg","keywords":["JavaScript","Web development"],"articleSection":["Javascript"],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.htmlgoodies.com\/#\/schema\/person\/d340101131281902e682ad0190b7ac75","name":"Rob Gravelle","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.htmlgoodies.com\/#\/schema\/person\/image\/","url":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/05\/rob-gravelle-150x150.jpg","contentUrl":"https:\/\/www.htmlgoodies.com\/wp-content\/uploads\/2021\/05\/rob-gravelle-150x150.jpg","caption":"Rob Gravelle"},"description":"Rob Gravelle resides in Ottawa, Canada, and has been an IT guru for over 20 years. In that time, Rob has built systems for intelligence-related organizations such as Canada Border Services and various commercial businesses. In his spare time, Rob has become an accomplished music artist with several CDs and digital releases to his credit.","url":"https:\/\/www.htmlgoodies.com\/author\/rob-gravelle\/"}]}},"_links":{"self":[{"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/posts\/11753"}],"collection":[{"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/users\/90"}],"replies":[{"embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/comments?post=11753"}],"version-history":[{"count":0,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/posts\/11753\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/media\/11500"}],"wp:attachment":[{"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/media?parent=11753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/categories?post=11753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/tags?post=11753"},{"taxonomy":"b2b_audience","embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/b2b_audience?post=11753"},{"taxonomy":"b2b_industry","embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/b2b_industry?post=11753"},{"taxonomy":"b2b_product","embeddable":true,"href":"https:\/\/www.htmlgoodies.com\/wp-json\/wp\/v2\/b2b_product?post=11753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}