
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Course Introduction
Who I am
Who can benefit from this course
Outline to the introduction module outlines what the course covers and omits, lists prerequisites for skills and knowledge, and presents the course outline for practical accessibility in web form controls.
This lecture will cover, at a very high level, what this course will cover.
I don't want you to purchase this course if you're looking for something else. So, as a courtesy, this lecture will cover what this course will not be covering.
This lecture will briefly go over some prerequisites for taking this course.
This lecture goes over every module that is included in this course.
This lecture will include a list of any updates made to the course.
This is the introduction to the course, which will include a description of what will be covered, what will not be covered, what you need to know first, and we'll end with a course outline.
We'll cover the obstacles to accessibility compliance, the attitude you should have for accessibility and accessibility personnel, and the people that we are trying to accommodate.
Treat accessibility personnel as essential teammates who ensure usable, secure, and accessible web experiences. Seek their feedback early and test UI changes with them before deployment.
Explore how accessibility extends beyond blind users, covering screen readers, keyboard navigation, cognitive and dyslexia needs, dexterity and visual impairments, and even mobile and slow networks for all form controls.
Get forms right to let users interact with your application smoothly and reach their goals, whether creating an account or making a purchase. We cover basic guidelines for forms.
Design logical, concise web forms by grouping controls, using fieldsets, and offering a quick form option. Ensure keyboard accessibility, clear validation feedback, and forgiving input formats for accessible form controls.
Learn to craft accurate, consistent labels that clearly describe each form control, ensure readability for users with low vision, and meet WCAG 2.0 color contrast standards using practical testing tools.
Place radio and checkbox labels to the right in left-to-right languages; position text inputs, textareas, and selects left or above, and consider mobile-friendly labeling to expand clickable areas.
Avoid placeholders as labels due to low contrast and disappearance after input; use explicit labels for each control. Use one unique label per control.
Explore hidden labels as accessible alternatives to traditional input labels, when to use them, and how to hide labels with CSS, applying ARIA attributes and title attribute as a label.
Use hidden labels only when the control context makes a label redundant, such as a search textbox with a nearby button; ensure assistive technologies still understand purpose.
Learn to label form controls using aria-labelledby by combining header IDs. Optionally use aria-label for individual cases and apply negative tabindex to labels to address Internet Explorer and NVDA quirks.
Avoid using the title attribute as a control label, since assistive technologies may not read it; use it as a tooltip for sighted users with verbose values.
Fieldsets group controls logically and visually, with the legend labeling the group. Style the default border and top legend with css, and use fieldsets for radio buttons.
Learn fieldset guidelines to build accessible forms: avoid nesting, don't use fieldsets as labels, place a unique legend first, and ensure radio button groups share the same name for accessibility.
Apply the role attribute to group radio buttons for screen readers even without fieldset or legend, and use a div or span as the label.
Provide accessible form instructions before the form, explain how required fields are marked using symbols such as an asterisk, and tailor guidance for screen readers and custom controls.
Learn to craft accessible form instructions that indicate required fields, inform users when context will change due to actions, warn to submit once, and use aria-labelledby or aria-describedby.
Discover inline instructions for form controls, including three accessible methods: embedding in the label, nearby text with aria-describedby, and hidden labels, with placeholders debated for WCAG color contrast.
Ensure accessible focus cues and keyboard navigability by maintaining proper tabindex, clear labels, and fieldsets. Verify color contrast, consistent styling, native controls, and real time validation to prevent invalid data.
Identify pitfalls in rendering form controls with repeaters and gridview controls, such as missing or duplicate id attributes, and understand why third-party libraries require thorough accessibility testing.
Mark required fields with a symbol or label and use required attribute for validation; prefer readonly to disabled, ensure focus indicators, and use input types like date, number, and password.
Practical Accessibility for Web Developers: Form Controls
Have you noticed a communication gap between web developers and accessibility testers?
Are you frustrated that the accessibility testers can't always tell you what needs to be fixed in order to be compliant?
Are you struggling to conform to (or even make sense of) Section 508 or Web Content Accessibility Guidelines (WCAG)?
For me, yes to all three. That's why I created this course.
This course is for web developers that want to create accessible web forms; but don't want to hear someone comb through every criterion of WCAG.
In this course we'll cover the following form elements and talk about how to make sure they are WCAG 2.1/2.2 compliant:
Labels (Traditional and Hidden)
Fieldsets and Groups
Form Instructions
Textboxes
Select Controls
Radio Buttons
Checkboxes
Buttons
Marking Required Fields
and much more including ARIA attributes, screen readers, and pitfalls!
While this course is geared toward web developers - accessibility testers, designers, or anyone else that has a stake or interest in WCAG 2.1/2.2 compliant web forms gain value from it.
If you're considering taking this course, I recommend you have at least beginner-level knowledge of the following:
HTML
CSS
JavaScript/jQuery