@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
A
1
2
3
4
5
6
7
8
10
9
11
y
@saltnburnem
#DeveloperCommunity · #CodeMash
\/
Web accessibility means that websites, tools, and technologies are designed and developed so that people with disabilities can use them.
@saltnburnem
#DeveloperCommunity · #CodeMash
- https://www.w3.org/WAI/fundamentals/accessibility-intro/
@saltnburnem
#DeveloperCommunity · #CodeMash
Web accessibility means that EVERYONE can use the Web.
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
https://ionicframework.com/
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
<form>
<ul>
<li>
<label for="name">Name:</label>
<input type="text" id="name" name="user_name" />
</li>
<li>
<label for="mail">Email:</label>
<input type="email" id="mail" name="user_email" />
</li>
<li>
<label for="msg">Message:</label>
<textarea id="msg" name="user_message"></textarea>
</li>
<li>
<button type="submit">Send Message</button>
</li>
</ul>
</form>
@saltnburnem
#DeveloperCommunity · #CodeMash
<form>
<ion-list>
<ion-item>
<ion-input label="Name" placeholder="Enter name"></ion-input>
</ion-item>
<ion-item>
<ion-input label="Email" placeholder="Enter email" type="email"></ion-input>
</ion-item>
<ion-item>
<ion-input label="Default label" placeholder="Enter text"></ion-input>
</ion-item>
<ion-item>
<ion-textarea label="Message" placeholder="Type your message here..."></ion-textarea>
</ion-item>
<ion-item>
<ion-button>Default</ion-button>
</ion-item>
</ion-list>
</form>
o
n
i
c
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
:focus {
/* STYLES GO HERE */
}
@saltnburnem
#DeveloperCommunity · #CodeMash
:focus {
outline: none;
}
:focus {
outline: 0;
}
@saltnburnem
#DeveloperCommunity · #CodeMash
:focus-within {
/* STYLES GO HERE */
}
:focus-visible {
/* STYLES GO HERE */
}
{
🥳
@saltnburnem
#DeveloperCommunity · #CodeMash
:focus-within {
/* STYLES GO HERE */
}
:focus-visible {
/* STYLES GO HERE */
}
{
🥳
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
defines a way to make Web content and Web applications more accessible to people with disabilities. It especially helps with dynamic content and advanced user interface controls developed with HTML, JavaScript, and related technologies.
@saltnburnem
#DeveloperCommunity · #CodeMash
- https://www.w3.org/WAI/standards-guidelines/aria/
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
aria-label
<IonButton aria-label="Visit Twitter" onClick={navigateToTwitter}>
<IonIcon slot="icon-only" icon={logoTwitter} />
</IonButton>
@saltnburnem
#DeveloperCommunity · #CodeMash
aria-disabled
<IonItem>
<IonLabel position="floating">SSN</IonLabel>
<IonInput type="number" placeholder="This input is disabled" aria-disabled="true" disabled={true}></IonInput>
</IonItem>
@saltnburnem
#DeveloperCommunity · #CodeMash
aria-checked
<IonItem>
<IonLabel>Sausage</IonLabel>
<IonCheckbox
slot="start"
aria-checked={isChecked ? "true" : "false"}
checked={isChecked}
onIonChange={handleCheckboxToggle}
/>
</IonItem>
const [isChecked, setChecked] = useState(true);
const handleCheckboxToggle = () => {
setChecked(!isChecked);
};
@saltnburnem
#DeveloperCommunity · #CodeMash
https://www.w3.org/TR/wai-aria/
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
@saltnburnem
#DeveloperCommunity · #CodeMash
Resources
https://bit.ly/screen-reader-integration