Skip to content
View in the app

A better way to browse. Learn more.

OKCCN - XenForo & IPS Plugin Marketplace

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
  • Language

CSS Accessibility Styling

Featured Replies

  • Administrators

CSS Accessibility Styling


CSS Accessibility Styling

A website should be designed to ensure good accessibility for all users, including those with disabilities.

CSS accessibility styling is about using good styling technics to improve the visual clarity, navigation, and overall user experience. 


CSS Accessibility Styling Technics

Here are some tips and technics on how to improve the accessibility of your web site:

1. Provide High Color Contrast

Always use a good color contrast between the text and the background for readability. This is especially important for users with visual impairments or color blindness.

Good Color Contrast

body {
  background-color: #ffffff;
  color: #000000;
}
Try it Yourself »

Bad Color Contrast

body {
  background-color: #eeeeee;
  color: #cccccc;
}
Try it Yourself »

2. Provide Good Font, Font Size and Line Height

Always provide a font that is easily readable. In addition, use a proper font size and line height. Use relative units (like rem) for font-size, to allow the user to scale the text size in the browser settings.

Good Font Example

body {
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}
Try it Yourself »

Bad Font Example

body {
  font-family: Georgia, serif;
  font-size: 12px;
  font-style: italic;
  font-variant: small-caps;
  line-height: 90%;
}
Try it Yourself »

3. Have Visible Focus Indicators

Always use the :focus pseudo-class to ensure that interactive elements (like links, buttons, input fields) have a clear visual focus style.

Using :focus will ensure that keyboard users and screen-readers understand which element is currently active.

Example

a:focus, button:focus, input:focus {
  outline: 2px solid orange;
}
Try it Yourself »


4. Avoid Hiding Focus

Never remove the default focus outlines, without replacing them with another visible focus style.

Bad Example

button:focus {
  outline: none;
}
Try it Yourself »

Good Example

button:focus {
  outline: 2px solid orange;
}
Try it Yourself »

5. Use CSS + Semantic HTML

Use CSS for visual styling, and structure content with semantic HTML elements (instead of non-semantic elements, like <div> for everything).

Example

nav {
  background-color: #333333;
  color: white;
}
aside {
  background-color: #333333;
  color: white;
}

6. Respect User Preferences

The CSS prefers-reduced-motion @media feature lets you check if a user has asked to reduce motion, such as animations or transitions.

Some users have motion sensitivity and prefer websites with less animation. You can use this media query to turn off, or tone down animations and transitions for the users who has activated this setting on their computer:

Example

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
Try it Yourself »

You will learn more about media queries in a later chapter.


Summary

  • Provide high color contrast
  • Provide easily readable fonts
  • Keep focus outlines visible
  • Use semantic HTML elements
  • Respect user preferences

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.