Accessibility
Frames must have title attribute
Screen reader users rely on a frame title to describe the
contents
of the frame
. Navigating through frame
and iframe
elements quickly becomes difficult and confusing for users of this technology if the markup does
not contain a title
attribute.
Screen reader users have the option to pull up a list of titles for all frames on a page. Adding descriptive, unique titles allows users to quickly find the frame they need. If no titles are present, navigating through frames can quickly become difficult and confusing. If no title is listed, screen readers will instead give information like “frame,” “JavaScript,” the filename, or the URL. In most cases, this information won’t be very helpful.
Fixing the problem
Ensure all frame
and iframe
elements have valid
title attribute values.
You can add a title attribute to a frame element as follows:
<iframe ... title="myFrame"> frame body
</iframe>
Additionally, best practice is to give the enclosed document a title
element
with content identical to the title attribute. Some screen readers will replace the
contents of the title attribute on the frame with the contents of the title
element inside the frame. As a result, it’s safest and most accessible to have the same
text in both locations.
A good title is brief, clear, informative, and unique. Ensure that the document's title
contains short, descriptive text summarizing the page's contents. To pass this rule,
it’s not sufficient to simply have a title
element; the element must also
contain meaningful text.
Best practices when writing frame titles
-
Replace placeholder titles such as
untitled page
with a more appropriate phrase - Make each title unique - don’t duplicate titles across pages, even if they are similar.
- Put all unique information first. If you want to include the company’s name or brand in the title, this information should go after the unique content. Otherwise, users of screen readers will have to listen to this information over and over as they search for the page that interests them.
-
Make the page title match the top heading (ideally labeled as
h1
) on your page. These don’t need to be identical, but it often makes sense to make them very similar, since thetitle
andh1
elements serve essentially the same purpose.