Skip to content

DigitalA11Y

Your Accessibility Partner

  • Home
  • ServicesExpand
    • WCAG Audit Services
    • VPAT/ACR Services
    • Accessibility Consulting
    • PDF Remediation
    • Accessibility Trainings
    • Website Remediation
    • Design Audit
  • Free ToolsExpand
    • Accessibility Checker
    • A11Y Cost Calculator
    • A11Y Bookmarklets
    • Color Contrast Extension
    • WCAG Contrast Checker
  • ResourcesExpand
    • A11Y Articles
    • WCAG Primer
    • ARIA Cheatsheet
    • A11Y Tools
    • A11Y Patterns
    • A11Y Cheatsheets
  • Contact
Search
DigitalA11Y
Your Accessibility Partner
Search

Form Validation When Submit Button is Disabled

In this pattern, the submit button is initially disabled and will only become enabled when all required fields are filled. Form validation occurs when the user tabs from one field to another using the Tab key. The email field also provides a suggestion that the correct format is not provided when it fails validation.

Working Example

Code

  • HTML
  • CSS
  • JavaScript
<form>
        <div class="form-control">
            <label for="email">Email:</label>
            <input type="email" id="email" name="email" class="required">
            <div class="error" id="email-error" aria-live="polite"></div>
        </div>

        <div class="form-control">
            <label for="password">Password:</label>
            <input type="password" id="password" name="password" class="required">
            <div class="error" id="password-error" aria-live="polite"></div>
        </div>

        <div class="form-control">
            <input type="submit" value="Submit" id="submit-button" disabled>
        </div>
    </form>
<style>
        .form-control {
            margin-bottom: 20px;
        }
        .error {
            color: red;
            display: none;
        }
        .required::before {
            content: "* ";
            color: red;
        }
    </style>
<script>
        const emailField = document.getElementById("email");
        const passwordField = document.getElementById("password");
        const submitButton = document.getElementById("submit-button");

        emailField.addEventListener("blur", validateEmail);
        passwordField.addEventListener("blur", validatePassword);

        function validateEmail() {
            const emailValue = emailField.value.trim();
            const emailError = document.getElementById("email-error");

            if (emailValue === "") {
                emailError.textContent = "Email is required.";
                emailError.style.display = "block";
            } else if (!isValidEmail(emailValue)) {
                emailError.textContent = "Email must be in the format [email protected].";
                emailError.style.display = "block";
            } else {
                emailError.textContent = "";
                emailError.style.display = "none";
            }

            checkFormValidity();
        }

        function validatePassword() {
            const passwordValue = passwordField.value.trim();
            const passwordError = document.getElementById("password-error");

            if (passwordValue === "") {
                passwordError.textContent = "Password is required.";
                passwordError.style.display = "block";
            } else {
                passwordError.textContent = "";
                passwordError.style.display = "none";
            }

            checkFormValidity();
        }

Company

  • About
  • Blog
  • Careers
  • Contact

Services

  • Accessibility Audits
  • Accessibility Consulting
  • VPAT/ACR
  • Accessibility Trainings

Compliance

  • WCAG
  • ADA
  • Section 508
  • EN 301 549
  • EAA
  • AODA Compliance Services — Make Your Digital Assets Accessible in Ontario
  • ACA

Resources

  • Accessibility Resources
  • Understanding WCAG
  • WCAG Checklist
  • Understanding WAI-ARIA

Legal

  • Privacy Policy
  • Terms and Conditions
  • Disclaimer
  • Accessibility Statement for digitala11y.com
  • Sitemap

© 2025 DigitalA11Y
All Rights Reserved

Linkedin Twitter Facebook Instagram YouTube

DigitalA11Y
Plot No 108, 3rd Cross Rd, Saipuri Colony,
Hastinapuri Colony, Sainikpuri, Secunderabad -500094
Telangana, India.

Tel:(+91)99082 66680,
E-mail: [email protected]

Scroll to top
  • Home
  • Services
    • WCAG Audit Services
    • VPAT/ACR Services
    • Accessibility Consulting
    • PDF Remediation
    • Accessibility Trainings
    • Website Remediation
    • Design Audit
  • Free Tools
    • Accessibility Checker
    • A11Y Cost Calculator
    • A11Y Bookmarklets
    • Color Contrast Extension
    • WCAG Contrast Checker
  • Resources
    • A11Y Articles
    • WCAG Primer
    • ARIA Cheatsheet
    • A11Y Tools
    • A11Y Patterns
    • A11Y Cheatsheets
  • Contact