2.1 Accessibility Standards

All projects must meet WCAG 2 Level AA standards at minimum. This isn’t just about legal compliance needs: it’s about creating inclusive experiences that work for everyone and our development approach is to support these standards.

Every form element must have an associated label, either through explicit labeling or appropriate ARIA attributes. Interactive elements must be keyboard navigable, keyboard operable, and with visible focus indicators that meet contrast requirements. We test our markup with assistive technology and keyboard-only navigation to better meet real-world accessibility needs.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!-- WordPress form with proper accessibility -->
<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>">
    <?php wp_nonce_field('contact_form_action', 'contact_form_nonce'); ?>
    <input type="hidden" name="action" value="submit_contact_form">
    
    <div class="form-group">
        <label for="contact-name">Full Name</label>
        <input type="text" id="contact-name" name="name" required 
               aria-describedby="name-help">
        <small id="name-help">Please enter your first and last name</small>
    </div>
    
    <button type="submit">Send Message</button>
</form>

<!-- Laravel equivalent with Blade templating -->
<form method="POST" action="">
    @csrf
    
    <div class="form-group">
        <label for="contact-name">Full Name</label>
        <input type="text" id="contact-name" name="name" 
               value="" required
               aria-describedby="name-help ">
        <small id="name-help">Please enter your first and last name</small>
        @error('name')
            <span class="error" id="name-error" role="alert"></span>
        @enderror
    </div>
    
    <button type="submit">Send Message</button>
</form>

Copyright © 2025 Crowd Favorite. All rights reserved.

This site uses Just the Docs, a documentation theme for Jekyll.