From e5bbd3f3997fb86225c8ec8197531d4b0c8d4b0c Mon Sep 17 00:00:00 2001
From: Majid Paktinat <button>
tag has been available for a long time and developers should utilize it for this specific purpose.
+ An accessible HTML button is one that can be easily used by all individuals, including those with disabilities. Accessibility ensures that everyone, regardless of their abilities, can interact with web content. +
+
This may seem obvious to many developers.
Unfortunately, there is a lot of code out there that uses <a>
tags
@@ -46,6 +50,10 @@
+ An HTML button is a clickable element that allows users to perform an action, such as submitting a form, triggering a function, or navigating to another page. +
+The most bulletproof way to make a button. It "just works" for everyone.
<button>
tag has been available for a long time and developers should utilize it for this specific purpose.
- - An accessible HTML button is one that can be easily used by all individuals, including those with disabilities. Accessibility ensures that everyone, regardless of their abilities, can interact with web content. -
This may seem obvious to many developers. @@ -50,9 +47,6 @@
- An HTML button is a clickable element that allows users to perform an action, such as submitting a form, triggering a function, or navigating to another page. -
The most bulletproof way to make a button. It "just works" for everyone.
@@ -257,58 +251,4 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/content/body/checkbox.php b/content/body/checkbox.php index fe49c212..3af71910 100644 --- a/content/body/checkbox.php +++ b/content/body/checkbox.php @@ -387,81 +387,3 @@ = includeNPMInstructions("hierarchical-checkboxes", [""], "", false, [ "noCSS" => true, ]) ?> - - diff --git a/content/body/radiogroup.php b/content/body/radiogroup.php index 907f5dcb..23b13ca4 100644 --- a/content/body/radiogroup.php +++ b/content/body/radiogroup.php @@ -333,64 +333,4 @@ "notes": "The radiogroup is like the fieldset tag. It should use the aria-labelledby to point to the element that labels the radiogroup (which acts as the legend tag)." }] } - - - \ No newline at end of file diff --git a/templates/data/meta-info.json b/templates/data/meta-info.json index 4cd9f43e..031a4655 100644 --- a/templates/data/meta-info.json +++ b/templates/data/meta-info.json @@ -35,8 +35,53 @@ "wip": true }, "button.php": { - "title": "Accessible Buttons", - "desc": "Native HTML5 buttons are the best when you have existing inaccessible code, using roles can help." + "title": "How to Create Accessible Buttons", + "desc": "An accessible HTML button is one that can be easily used by all individuals, including those with disabilities. Accessibility ensures that everyone, regardless of their abilities, can interact with web content.", + "url": "https://www.useragentman.com/enable/button.php", + "mainEntity":[ + { + "type": "Article", + "title": "Accessible Button ?", + "desc": "An accessible HTML button is one that can be easily used by all individuals, including those with disabilities. Accessibility ensures that everyone, regardless of their abilities, can interact with web content.", + "url": "https://www.useragentman.com/enable/button.php#an-html-button---heading" + }, + { + "type": "HowTo", + "title": "An HTML Button", + "desc": "An HTML button is a clickable element that allows users to perform an action, such as submitting a form, triggering a function, or navigating to another page.", + "url": "https://www.useragentman.com/enable/button.php#an-html-button---heading" + }, + { + "type": "HowTo", + "title": "Code Walkthrough to make button accessible", + "desc": "See the dropdown to highlight each of the individual steps that make the button accessible", + "url": "https://www.useragentman.com/enable/button.php#developer-walkthrough-1" + }, + { + "type": "HowTo", + "title": "A link with the role of button", + "desc": "Links can behave like a button, especially when it triggers an action rather than navigating to a different page.", + "url": "https://www.useragentman.com/enable/button.php#a-link-with-the-role-of-button--heading" + }, + { + "type": "HowTo", + "title": "A link with the role of button and be accessible", + "desc": "See the dropdown to highlight each of the individual steps that make the link behave like a button and be accessible", + "url": "https://www.useragentman.com/enable/button.php#developer-walkthrough-2" + }, + { + "type": "HowTo", + "title": "A Div with the role of button and be accessible", + "desc": "See the dropdown to highlight each of the individual steps that make the div behave like a button and be accessible", + "url": "https://www.useragentman.com/enable/button.php#developer-walkthrough-3" + }, + { + "type": "HowTo", + "title": "Disabled HTML Button", + "desc": "There are two ways of making a button disabled; Using one of these attributes, disabled=true or aria-disabled=true", + "url": "https://www.useragentman.com/enable/button.php#disabled-html-button---heading" + } + ] }, "carousel.php": { "title": "Accessible Carousels", @@ -44,8 +89,77 @@ "isNPM": "true" }, "checkbox.php": { - "title": "Accessible Checkboxes", - "desc": "This page will show you how to code HTML5 and custom checkboxes in an accessible way, including indeterminate checkboxes." + "title": "How to Create Accessible Checkboxes", + "desc": "Here is a step-by-step guide to creating accessible checkboxes", + "url": "https://www.useragentman.com/enable/checkbox.php", + "mainEntity":[ + { + "type": "Article", + "title": "A real styled HTML5 checkbox", + "desc": "You can style an HTML5 checkbox using CSS easily.", + "url": "https://www.useragentman.com/enable/checkbox.php#a-real-styled-html5-checkbox--heading" + }, + { + "type": "HowTo", + "title": "Step-by-Step to make the styled checkboxe accessible", + "desc": "See the dropdown to highlight each of the individual steps that make the styled checkboxe accessible", + "url": "https://www.useragentman.com/enable/checkbox.php#developer-walkthrough-1" + }, + { + "type": "Article", + "title": "A DIV with a role of checkbox", + "desc": "If you come across a<button>
tag has been available for a long time and developers should utilize it for this specific purpose.
-
This may seem obvious to many developers.
Unfortunately, there is a lot of code out there that uses <a>
tags
@@ -47,7 +46,6 @@
The most bulletproof way to make a button. It "just works" for everyone.
+ Before we dive into making focus outlines accessible, let's first understand what a focus outline is and why it’s important for web accessibility, particularly for screen readers. + If you're already familiar with focus outlines, feel free to skip to the next section. For those who aren’t, here's a brief definition. +
+ ++ Simply put, when a specific HTML element is ready to accept keyboard input, it is considered to be "in focus." + As users navigate a webpage using the keyboard (typically via the Tab key), different elements receive focus, allowing screen readers to read their content. + According to accessibility standards, any element in focus should have a visible border around it, known as the focus outline. This helps users, especially those relying on screen readers or keyboard navigation, to know which element is currently active. +
+ +
Focus states are used by keyboard users to know what interactive element they can currently manipulate. They are easily
styled with the outline
CSS property and the :focus
and :focus-visible
pseudo-classes.
diff --git a/content/body/form-error-checking.php b/content/body/form-error-checking.php
index ad15b276..473074a0 100644
--- a/content/body/form-error-checking.php
+++ b/content/body/form-error-checking.php
@@ -271,29 +271,6 @@
}
-
= includeNPMInstructions("accessibility", [], null, false, [
diff --git a/templates/data/meta-info.json b/templates/data/meta-info.json
index dab2b989..4de7d0cd 100644
--- a/templates/data/meta-info.json
+++ b/templates/data/meta-info.json
@@ -16,8 +16,29 @@
"wip": true
},
"alert.php": {
- "title": "ARIA Alert",
- "desc": "How to let screen reader users know when new information appears on the page using the ARIA alert role or the HTML5 output tag"
+ "title": "ARIA Alert: Understanding, Live Example and Code Walkthrough",
+ "desc": "Learn about the ARIA alert property, how it enhances web accessibility, and explore practical examples with code samples. Master ARIA alerts for better UX.",
+ "url": "https://www.useragentman.com/enable/alert.php",
+ "mainEntity":[
+ {
+ "type": "Article",
+ "title": "ARIA Alert",
+ "desc": "An alert is an ARIA live region meant for error or warning messages that appear on the screen. It is usually implied to have an aria-live value of assertive.",
+ "url": "https://www.useragentman.com/enable/alert.php"
+ },
+ {
+ "type": "HowTo",
+ "title": "Visual Alert Example",
+ "desc": "Live example of alert aria role",
+ "url": "https://www.useragentman.com/enable/alert.php#example-1-visual-alert--heading"
+ },
+ {
+ "type": "HowTo",
+ "title": "Code Walkthrough for ARIA Alert role",
+ "desc": "See the dropdown to highlight each of the individual steps that make accessible aria alert",
+ "url": "https://www.useragentman.com/enable/alert.php#developer-walkthrough-1"
+ }
+ ]
},
"animated-gif-with-pause-button.php": {
"title": "Animated GIFs with Pause Buttons",
@@ -190,12 +211,60 @@
"desc": "Often overlooked, self-contained content that is references in a document, like a photo, chart, diagram or code, should be marked up as a figure to help screen reader users understand context."
},
"focus-styling.php": {
- "title": "Focus Styling",
- "desc": "Many designers will turn off focus styles on web apps. There are better solutions that ensure they appear for only the users that need them."
+ "title": "How to Create Accessible Focus Outlines in CSS",
+ "desc": "Explore best practices for focus outlines in web design. Improve accessibility and keyboard navigation with our comprehensive guide.",
+ "url": "https://www.useragentman.com/enable/focus-styling.php",
+ "mainEntity": [
+ {
+ "@type": "Article",
+ "title": "What is Focus Outline?",
+ "desc": "when a specific HTML element is ready to accept keyboard input, it is considered to be 'in focus.' As users navigate a webpage using the keyboard (typically via the Tab key), different elements receive focus, allowing screen readers to read their content",
+ "url": "https://www.useragentman.com/enable/focus-styling.php#what-is-a-focus-outline---heading"
+ },
+ {
+ "@type": "HowTo",
+ "title": "Focus Styling for Keyboard Users Only",
+ "desc": "How to style focus outline specially for keyboard users",
+ "url": "https://www.useragentman.com/enable/focus-styling.php#focus-styling-for-keyboard-users-only--heading"
+ },
+ {
+ "@type": "HowTo",
+ "title": "Increase Hit Area Inside Focusable Elements",
+ "desc": "Identify all focusable elements on the page and evaluate their hit area.",
+ "url": "https://www.useragentman.com/enable/focus-styling.php#increase-hit-areas-inside-focusable-elements--heading"
+ },
+ {
+ "@type": "HowTo",
+ "title": "Issues with CSS Transitions and CSS Outline in Safari",
+ "desc": "Understand common issues with CSS transitions and CSS outline in Safari.",
+ "url": "https://www.useragentman.com/enable/focus-styling.php#issues-with-css-transitions-and-css-outline-in-safari--heading"
+ },
+ {
+ "@type": "HowTo",
+ "title": "Considerations for Windows High Contrast Mode Users",
+ "desc": "Test your website in Windows High Contrast mode to identify any accessibility issues.",
+ "url": "https://www.useragentman.com/enable/focus-styling.php#don-t-forget-windows-high-contrast-mode-users---heading"
+ }
+ ]
},
"form-error-checking.php": {
"title": "How to Ensure Accessible Form Validation and Error Checking",
- "desc": "Learn how to make your form validation and error checking accessible. Follow best practices to ensure your web forms are compliant with WCAG guidelines and user-friendly for everyone."
+ "desc": "Learn how to make your form validation and error checking accessible. Follow best practices to ensure your web forms are compliant with WCAG guidelines and user-friendly for everyone.",
+ "url": "https://www.useragentman.com/enable/form-error-checking.php",
+ "mainEntity": [
+ {
+ "@type": "HowTo",
+ "title": "Using HTML5 for Accessible Form Validation",
+ "desc": "You can use just the required and pattern attributes on HTML forms to do client-side validation without JavaScript.",
+ "url": "https://www.useragentman.com/enable/form-error-checking.php#using-native-html5-validation--heading"
+ },
+ {
+ "@type": "HowTo",
+ "title": "Using Custom Validation for Accessible Form Validation",
+ "desc": "You can use enable-a11y node package to handle client-side form validation and error messages.",
+ "url": "https://www.useragentman.com/enable/form-error-checking.php#using-custom-validation--heading"
+ }
+ ]
},
"form.php": {
"title": "Accessible Form Structure",
@@ -233,12 +302,54 @@
"isNPM": "true"
},
"log.php": {
- "title": "Accessible Log Displays",
- "desc": "When you want up-to-date inbound information, like chat history or error logs, to be consumed by users of assistive technology, use the log role."
+ "title": "Accessible Log Display: Understanding, Live Example, and Code Walkthrough",
+ "desc": "Discover how to implement an Accessible Log Display with a live example and detailed code walkthrough. Enhance web accessibility with best practices.",
+ "url": "https://www.useragentman.com/enable/log.php",
+ "mainEntity":[
+ {
+ "type": "Article",
+ "title": "What is Accessible logs ?",
+ "desc": "The log role is an ARIA-live region where new information is added in a meaningful order and old information may disappear.",
+ "url": "https://www.useragentman.com/enable/log.php"
+ },
+ {
+ "type": "HowTo",
+ "title": "Visual Accessible Log Display Example",
+ "desc": "Live example how accessible display log works",
+ "url": "https://www.useragentman.com/enable/log.php#example-1---heading"
+ },
+ {
+ "type": "HowTo",
+ "title": "Code Walkthrough for Accessible Log Display",
+ "desc": "See the dropdown to highlight each of the individual steps that make accessible logs",
+ "url": "https://www.useragentman.com/enable/log.php#developer-walkthrough-1"
+ }
+ ]
},
"marquee.php": {
- "title": "The Marquee (a.k.a. Auto-Scrolling Content)",
- "desc": "Non essential information that updates frequently should be coded so screen reader users know it's there, but that it doesn't annoy them."
+ "title": "Mastering Marquee: Auto Scrolling Text with Live Example and Code Samples",
+ "desc": "Learn how to create an auto-scrolling Marquee for your web pages. Explore a live example and get detailed code samples to implement it effortlessly.",
+ "url": "https://www.useragentman.com/enable/marquee.php",
+ "mainEntity":[
+ {
+ "type": "Article",
+ "title": "What is Marquee?",
+ "desc": "Marquees (a.k.a. Auto-Scrolling Content) are meant for content that scrolls or updates consistently, like a stock ticker or a news feed.",
+ "url": "https://www.useragentman.com/enable/marquee.php"
+ },
+ {
+ "type": "HowTo",
+ "title": "Accessible Auto Scrolling (Marquee) Example",
+ "desc": "Live example of News Ticker to understand how marquee works",
+ "url": "https://www.useragentman.com/enable/marquee.php#example-1-news-ticker--heading"
+ },
+ {
+ "type": "HowTo",
+ "title": "Code Walkthrough for Accessible Marquee",
+ "desc": "See the dropdown to highlight each of the individual steps that make accessible auto scrolling (marquee)",
+ "url": "https://www.useragentman.com/enable/marquee.php#developer-walkthrough-1"
+ }
+ ]
},
"math.php": {
"title": "Accessible Math Equations",
@@ -337,8 +448,29 @@
"desc": "Many developers think form fields with numeric values must always be coded as . There are exceptions."
},
"status.php": {
- "title": "The ARIA Status Role",
- "desc": "If part of a page is updated (e.g. because of an AJAX call), users of screen readers and other assistive tech need to be informed. Enter the ARIA role \"status\""
+ "title": "ARIA Status: Understanding, Live Example, and Code Walkthrough",
+ "desc": "Learn about the ARIA status role, its importance in accessibility, and see a live example with supporting code samples to improve user experience.",
+ "url": "https://www.useragentman.com/enable/status.php",
+ "mainEntity":[
+ {
+ "type": "Article",
+ "title": "What is ARIA Status role?",
+ "desc": "Status messages allow screen readers and other assistive technology to tell users that content has changed on the page.",
+ "url": "https://www.useragentman.com/enable/status.php"
+ },
+ {
+ "type": "HowTo",
+ "title": "Visually Hidden Status Message Example",
+ "desc": "Live example of how visually how hidden status role works",
+ "url": "https://www.useragentman.com/enable/status.php#visually-hidden-status-message--heading"
+ },
+ {
+ "type": "HowTo",
+ "title": "Code Walkthrough for Accessible Status role",
+ "desc": "See the dropdown to highlight each of the individual steps that make accessible status messages",
+ "url": "https://www.useragentman.com/enable/status.php#developer-walkthrough-1"
+ }
+ ]
},
"switch.php": {
"title": "The ARIA Switch Role (a.k.a. Toggle)",
@@ -407,8 +539,29 @@
"desc": "How you can ensure that your website's typography is legible for users that adjust text-spacing because of dyslexia or due to visual or cognitive disabilities ."
},
"timer.php": {
- "title": "ARIA Timer",
- "desc": "If you have a countdown or a timer on your page, tell users of screen readers and other assistive tech when it updates without too much noise."
+ "title": "ARIA Timer: Understanding, Live Example and Code Walkthrough",
+ "desc": "Discover what ARIA Timer is, see a live example, and explore the supporting code. Learn how to implement an accessible countdown timer with ARIA roles and attributes.",
+ "url": "https://www.useragentman.com/enable/timer.php",
+ "mainEntity":[
+ {
+ "type": "Article",
+ "title": "What is ARIA Timer?",
+ "desc": "The timer role is to be used on any timer or clock, including stopwatch readouts and countdown timers. Because of the immediate nature of the information given, it is recommended you use aria-live='assertive' to announce the value of the timer.",
+ "url": "https://www.useragentman.com/enable/timer.php"
+ },
+ {
+ "type": "HowTo",
+ "title": "Accessible Timer Example",
+ "desc": "Live example of how accessible timer works",
+ "url": "https://www.useragentman.com/enable/timer.php#timer-example--heading"
+ },
+ {
+ "type": "HowTo",
+ "title": "Code Walkthrough for Accessible Timer",
+ "desc": "See the dropdown to highlight each of the individual steps that make accessible timer",
+ "url": "https://www.useragentman.com/enable/timer.php#developer-walkthrough-1"
+ }
+ ]
},
"tooltip.php": {
"title": "Tooltip",
diff --git a/templates/includes/logo-link.php b/templates/includes/logo-link.php
index baa7b03a..a5888d87 100644
--- a/templates/includes/logo-link.php
+++ b/templates/includes/logo-link.php
@@ -1,6 +1,6 @@