Skip to content

HTML page has non-empty title

Description

This rule checks that a non-embedded HTML page has a non-empty title.

Applicability

This rule applies to the root element of the web page, if it is an html element.

Expectation 1

Each target element has at least one descendant that is a title element.

Expectation 2

For each target element, the first HTML title element that is a descendant of the document element has children that are text nodes that are not only whitespace.

Assumptions

This rule assumes that Success Criterion 2.4.2 Page Titled does not require that a document only has one title element, nor that it is a child of the head element of a document. While this is invalid in HTML, the HTML 5.2 specification describes what should happen in case of multiple titles, and titles outside the head element. Because of this, neither of these validation issues causes a conformance problem for WCAG. Regardless of whether this is required by 2.4.2 Page Titled, failing this rule means the success criterion is not satisfied.

Accessibility Support

There are no major accessibility support issues known for this rule.

Background

This rule is only applicable to non-embedded HTML pages. HTML pages embedded into other documents, such as through iframe or object elements are not applicable because they are not web pages according to the definition in WCAG.

Bibliography

Accessibility Requirements Mapping

Input Aspects

The following aspects are required in using this rule.

Test Cases

Passed

Passed Example 1

Open in a new tab

This page has a title element with content.

<html>
	<title>This page has a title</title>
</html>

Passed Example 2

Open in a new tab

This page has a title element that serves as the title for the page and the iframe since the iframe does not have its own.

<html>
	<title>This page gives a title to an iframe</title>
	<iframe src="/test-assets/sc2-4-2-title-page-without-title.html"></iframe>
</html>

Passed Example 3

Open in a new tab

This page has two title elements with content.

<html>
	<head>
		<title>Title of the page.</title>
	</head>
	<body>
		<title>Title of the page.</title>
	</body>
</html>

Passed Example 4

Open in a new tab

This page has one title element with content, which is within the body element.

<html>
	<body>
		<title>Title of the page.</title>
	</body>
</html>

Passed Example 5

Open in a new tab

This page has two title elements and only the first has content.

<html>
	<head>
		<title>Title of the page.</title>
	</head>
	<body>
		<title></title>
	</body>
</html>

Failed

Failed Example 1

Open in a new tab

This page does not have a title element.

<html>
	<h1>this page has no title</h1>
</html>

Failed Example 2

Open in a new tab

This page has a title element that is empty.

<html>
	<title></title>
</html>

Failed Example 3

Open in a new tab

This page does not have a title element. The title element in the content of the iframe does not function as the title for the entire page.

<html>
	<iframe src="/test-assets/sc2-4-2-title-page-with-title.html"></iframe>
</html>

Failed Example 4

Open in a new tab

This page has two title elements and the first is empty.

<html>
	<head>
		<title></title>
	</head>
	<body>
		<title>Title of the page.</title>
	</body>
</html>

Failed Example 5

Open in a new tab

This page has a title element that only contains a separator character.

<html>
	<title> </title>
</html>

Inapplicable

Inapplicable Example 1

Open in a new tab

This title element is a child of an svg element.

<svg xmlns="http://www.w3.org/2000/svg">
  <title>This is an SVG</title>
</svg>

Glossary

Namespaced Element

An element with a specific namespaceURI value from HTML namespaces. For example an “SVG element” is any element with the “SVG namespace”, which is http://www.w3.org/2000/svg.

Namespaced elements are not limited to elements described in a specification. They also include custom elements. Elements such as a and title have a different namespace depending on where they are used. For example a title in an HTML page usually has the HTML namespace. When used in an svg element, a title element has the SVG namespace instead.

Outcome

An outcome is a conclusion that comes from evaluating an ACT Rule on a test subject or one of its constituent test target. An outcome can be one of the three following types:

Note: A rule has one passed or failed outcome for every test target. When there are no test targets the rule has one inapplicable outcome. This means that each test subject will have one or more outcomes.

Note: Implementations using the EARL10-Schema can express the outcome with the outcome property. In addition to passed, failed and inapplicable, EARL 1.0 also defined an incomplete outcome. While this cannot be the outcome of an ACT Rule when applied in its entirety, it often happens that rules are only partially evaluated. For example, when applicability was automated, but the expectations have to be evaluated manually. Such “interim” results can be expressed with the incomplete outcome.

Whitespace

Whitespace are characters that have the Unicode “White_Space” property in the Unicode properties list.

This includes:

Rule Versions

  1. Latest version, 31 August 2023 (compare)
    • Replace Web Page definition with HTML-specific definition
    • Add higher-level protocol assumption
  2. Previous version, 28 January 2022
Back to Top