WebAIM - Web Accessibility In Mind

Creating Accessible Web Content in Dreamweaver


Dreamweaver is a popular web authoring tool developed by Adobe. It is often used as a WYSISYG (What you see is what you get) editor, meaning it allows people to create web pages without spending as much time in the markup or code. This tutorial outlines how to create accessible web content in Dreamweaver.


Instructions are for the Design view in Dreamweaver CC 2014 or newer.

Page Title

A succinct, unique, and descriptive page <title> is very important for accessibility. Many users, especially screen reader users, rely on the page title to identify the contents on a page. When creating a new document, a dialog appears. Enter the page title into the Title field.


If you do not add a title when you create the page, it is given a generic <title> of "Untitled Document". You can change this in the Document Title field, in the document's Properties panel at the bottom of the page.


If the Properties panel is not visible, select Window > Properties.

Image Alternative Text

Every <img> element should have alternative text that presents the content or function of the image to screen reader users. To give an image alternative text, select the image and enter the alternative text in the Alt field, located in the Properties panel.


When you insert an image in Dreamweaver, by default it is given empty alternative text (alt=""). If the image is decorative, or if the alternative text of the image is provided in nearby text, then you can leave this field blank. Otherwise, make sure to add appropriate alternative text.

Form Labels

Most types of form elements (text boxes, text areas, checkboxes, radio buttons, etc.) need descriptive labels. When adding a form control to the page, Dreamweaver will automatically add a <label> element with generic text (e.g., "Text Field"). Update the label text so that it is unique and descriptive.


If the control is inserted while in the Code frame, only the form control will appear, not the label.

If the form control already has a text description that should be the label, select the label text and choose Insert > Form > Label. Then go to the Properties panel for the label, select For dropdown menu, and choose the value that matches the id of the form control you want to label.

screenshot of the expanded menu

The <label> element cannot be used to provide multiple labels for a single form control or to associate a single label with multiple form controls. If your form control has more than one label (or vice-versa), see our article on advanced form labels.

If the label text is adjacent to the form control, select the text and form control and then insert the label. Dreamweaver will wrap a <label> tag around the text and the form. Do not add a for attribute to wrapped labels.


The <fieldset> and <legend> elements provide a mechanism to add a higher-level label to a group of form controls. The <fieldset> identifies the entire grouping and <legend> identifies the grouping's descriptive text. This is often used for groups of radio buttons and checkboxes. To add <fieldset> and <legend> in Dreamweaver, highlight the group of elements and select Insert > Form > Fieldset. The selected content will be wrapped in a <fieldset> and a dialog will appear where you can enter the Legend.


Data Tables

There are three principles involved in making data tables accessible to screen reader users:

  1. Designate table headers (<th>).
  2. Assign a scope to row and/or column headers.
  3. If appropriate, give the table a <caption>.

When inserting a table, a dialog box is presented. Under the Header options, choose whether the table has no headers (None), row headers (Left), column headers (Top), or row AND column headers (Both).

Screenshot of the table dialog. There are options to change the table size, select the header structure, add a caption, and add a summary

Dreamweaver will designate table headers with the correct scope (e.g., <th scope="col">).

The dialog also has fields for a table Caption, which presents a title or description of the table. While not all data tables need captions, they are often helpful. A table Summary should typically be left blank—the summary attribute it is not well supported and is not part of the HTML5 specification.

  • If the table is used for layout purposes (not recommended), select None under the header options and do not add a Caption.
  • If you select Both under Header, then Dreamweaver will make the top-left cell a column header. If this cell is empty (and therefore not a header), click in this cell, and in the Properties panel, uncheck the Headers checkbox.

The only way to add the scope attribute to tables that already exist in your document is to add them manually in Code view. For complex tables which have headers that span rows or columns and for which scope is not sufficient, you must manually add headers and id attributes. If possible, simplify your tables so headers and id can be avoided.


A logical heading structure greatly enhances the accessibility of a web page. Headings are often used by screen reader users for page navigation and orientation. To add headings to a page, select Insert > Heading, and then select the desired heading level. To change text to a heading, or to change heading levels, select the text and select the desired heading level from the Format menu in the Properties panel.

Expanded Format dialog. The options are: None, Paragraph, Heading levels 1-6, and Preformatted.

Lists and Emphasized Text

Dreamweaver includes options in the Properties panel to create unordered/bulleted lists (<ul>) or ordered/numbered lists (<ol>). You can also emphasize text (<strong> for bold and <em> for italics).
Screenshot of the B, I, bulleted list, and numbered list icons

HTML5 Sectioning Elements

Dreamweaver allows you to create the following HTML5 sectioning elements (in the Insert menu): Header, Navigation, Main, Aside, Article, Section, and Footer. Just like ARIA landmarks, these elements identify page regions that can help a screen reader user orient and navigate the page (with the exception of Section, which creates a generic <section> element).