# Accessibility for Developers
**Source**: https://accessibility.huit.harvard.edu/developers
**Parent**: https://accessibility.huit.harvard.edu/digital-accessibility-policy
This section is for people who develop websites and web applications. It contains best practices, examples, testing methods, and resources to support the following guidelines.
[## Structural Markup](https://accessibility.huit.harvard.edu/structure-developers)
People feel confident using the design because it is stable, robust, and secure.
[## Visual Presentation](https://accessibility.huit.harvard.edu/presentation-developers)
People can perceive and understand elements in the design.
[## Interaction](https://accessibility.huit.harvard.edu/interaction-developers)
People can use the product across all modes of interaction and operating with a broad range of devices.
[## Images, Icons & Media Players](https://accessibility.huit.harvard.edu/images-and-media-developers)
People can understand and use information contained in media, such as images, audio, video, animation, and presentations.
## 10 Essentials for Developers
The following are core concepts and questions to ask yourself that will help you create accessible websites and web applications.
1. [Semantic Markup](https://accessibility.huit.harvard.edu/structure-developers#use-semantic-elements-regions-and-content): Do all elements have the correct semantic markup?
2. [Input Labels](https://accessibility.huit.harvard.edu/provide-accessible-labels-and-instructions): Are there descriptive labels marking each input element, and labels for input groups?
3. [Focus](https://accessibility.huit.harvard.edu/keyboard#provide-logical-and-visible-focus-indication): Is there an indicator when interactive elements have keyboard focus, and does its order follow a logical sequence?
4. [Keyboard](https://accessibility.huit.harvard.edu/keyboard#support-keyboard-interaction): Can all interactive elements be selected and activated using the keyboard?
5. [Names](https://accessibility.huit.harvard.edu/custom-widgets-and-controls#provide-name-role-and-value-information): Do all interactive controls have an accessible descriptive name?
6. [Roles](https://accessibility.huit.harvard.edu/custom-widgets-and-controls#provide-name-role-and-value-information): Do all custom controls and widgets have the correct role (e.g., link, button, tab panel)?
7. [Dynamic Updates](https://accessibility.huit.harvard.edu/notifications-and-alerts#provide-notification-dynamic-changes-content): Are all dynamic updates, including error messages, conveyed to assistive technology?
8. [Colors](https://accessibility.huit.harvard.edu/presentation-developers#avoid-reliance-on-color): Does the design provide sufficient color contrast?
9. [Layouts](https://accessibility.huit.harvard.edu/presentation-developers#support-flexibility-and-adaptation "Clean Presentation: Supports Meaning"): Do page layouts adapt to different window widths and text sizes?
10. [Images](https://accessibility.huit.harvard.edu/images-and-media-developers#provide-accessible-images): Do images and icons have the appropriate text alternative?
## Upcoming Developer Training
[### Web Accessibility in HTML and CSS](https://accessibility.huit.harvard.edu/event/web-accessibility-html-and-css-062526?occ_id=0)
Jun 25, 2026
10:00AM - 4:00PM EDT
Virtual - Zoom
Virtual
Learn how the HTML and CSS that you write or edit can make or break the usability of a site for people with disabilities. Through examples and activities, we'll cover essential steps in designing for accessibility. Attendees should understand what...
[All trainings](https://accessibility.huit.harvard.edu/training)