Rocket Validator automatically checks your pages on the W3C Validator.
<pattern> element has been found with an invalid ID. Check the format of the ID and ensure it does not start with a digit, full stop (.) or hyphen (-).
<pattern> element is used within
<svg> elements, which use XML 1.0 syntax. That syntax specifies that valid IDs only include designated characters (letters, digits, and a few punctuation marks), and do not start with a digit, a full stop (.) character, or a hyphen-minus (-) character.
Related W3C validator issues
id attribute of an HTML element, used to identify the element when linking, scripting or styling, must be unique in the whole document and must not contain whitespace.
Technically, in HTML5, the value for an id attribute may contain any character, except whitespace characters. However, to avoid inadvertent errors, only ASCII letters, digits,
-should be used and the value for an
idattribute should start with a letter.
pattern attribute is only allowed on input whose
url. Check the
type used, and consider changing to one of the allowed types to enable pattern client-side validation.
contact is not a valid option for the
autocomplete attribute on an
All HTML elements may have the
hidden boolean attribute set. When specified on an element, it indicates that the element is not yet, or is no longer, relevant, so browsers won’t render it.
Boolean attributes don’t accept values, its presence represents the
true value and its absence represents the
<!-- This is invalid because the hidden attribute should not have a value set --> <div hidden="false"></div> <!-- The correct way to hide a div is like this --> <div hidden>This will be hidden</div> <!-- And to show the element, we just don't hide it --> <div>This won't be hidden</div>
<a> element has been found with an invalid
href attribute, containing more than one
# adjacent character.
# is used to separate the fragment part of an URI (typically used to indicate a section within a document). For example, this is a valid link to a URI containing a fragment:
The next example is invalid because it contains two adjacent
# characters, so that the fragment part would be
#pricing instead of
href attribute of an
<a> element contains an invalid character, that should be properly encoded as a URI percent-encoded character.
id attribute is used to identify a single element within a document, it’s not required, but if used it must be unique, and must not be an empty string.
IDs for HTML elements can’t be blank.
src attribute on an
<img> element contains an invalid character, that should be properly encoded as a URI percent-encoded character.
The only permitted value for the
xmlns attribute is
The namespace declaration for an
<svg> element is provided by the
xmlns attribute like this:
<svg xmlns="http://www.w3.org/2000/svg"> <!-- more tags here --> </svg>
https in the URL looks like it’s going to be more secure, in fact this URL is not used to connect it to, only to declare the namespace.
<a> tags can be used to link to an email address using the
mailto protocol in the
href attribute. Ensure that there is no space in the email address.
<a href="mailto: email@example.com">This is wrong as it contains an space</a> <a href="mailto:firstname.lastname@example.org">This is OK</a>
<label> element represents a caption in a document, and it can be associated with a form input using the
for attribute, which must be an ID. Document IDs cannot contain whitespace.
<form> <label for="user_name">Name</label> <input type="text" id="user_name" /> </form>
The at symbol (
@) should be percent-encoded as
%40 in order to include it at an
media attribute on a
<link> element has not been recognized.
This attribute specified what media the linked resource is optimized for. As an example, the following will link a general stylesheet, and a specific one for printing:
<head> <link rel="stylesheet" type="text/css" href="general.css"> <link rel="stylesheet" type="text/css" href="print.css" media="print"> </head>
Valid values for this attribute include:
all. Default, used for all media.
screen. Used for computer, tablets or smartphone screens.
type attribute on
<a> elements, when present, gives a hint on the MIME type of the linked resource, for example:
<a href="application/pdf" src="book.pdf">Read our book</a> <a href="image/jpeg" src="photo.jpeg">See a photo</a>
That is, we’re talking about the type of the linked resource, not the type of the
<a> element, as it’s sometimes misunderstood. The following example is invalid because
button is not a valid MIME type.
<a href="/order.php" type="button">Submit</a>
The value used to define the
type of a
link is not valid. You’re probably using a URL instead of a valid type.
Example of a valid
<link rel="icon" type="image/png" href="favicon.png">
id attribute is used to identify a single element within a document, and is required to be unique. Check the document for repeated IDs.
A tag starting with
<? has been found within the document, but it’s not supported. Probable causes can be:
Copy-pasting the contents of an SVG file. If you do that, you should only paste the
<svg>...</svg>part, but not the first line with
<?...>tags on server scripting languages like PHP, like
- [freeCodeCamp: How to Use SVG Images in CSS and HTML]https://www.freecodecamp.org/news/use-svg-images-in-css-html/)
Element IDs in an HTML document must be unique. The HTML validator is indicating the first occurrence of an ID that is repeated. Check the details for that issue to see web pages affected, and the elements within them, to fix that ID repetition.
In the days before HTML5, named anchors were used as a way to provide a link to a specific section of a document, for example:
<h2> <a name="section-5">Section 5</a> </h2>
Now in HTML5, the
name attribute is obsolete for
<a> tags, and instead, you can use the
id attribute of any element (not just
<a>) as a way to navigate directly to it, for example:
<h2 id="section-5">Section 5</h2>
Read more about:
<option> element no longer accepts a
name attribute, which is now obsolete.
<select id="pet-select"> <option value="">--Please choose an option--</option> <option value="dog">Dog</option> <option value="cat">Cat</option> <option value="hamster">Hamster</option> </select>
<label> tags are used to label inputs in form, which need to be present and visible in the document, for example:
<label for="age">Age</label> <input id="age" />
Still checking your large sites one page at a time?
Save time using our automated web checker. Let our crawler check your web pages on the W3C Validator.