HTML Checking for Large Sites
Rocket Validator automatically checks your pages on the W3C Validator.
Attribute “required” is only allowed when the input type is “checkbox”, “date”, “datetime-local”, “email”, “file”, “month”, “number”, “password”, “radio”, “search”, “tel”, “text”, “time”, “url”, or “week”.
The boolean required
attribute can only be used with certain types of inputs. Check the input type is one of the allowed.
The required
attribute, if present, indicates that the user must specify a value for the input before the owning form can be submitted.
Learn more:
Related W3C validator issues
The aria-required
attribute is used to indicate to screen reader users that a form input is required. As there is now in HTML a general required
attribute which works with most user agents, it’s unnecessary to use both at the same time. In general, you can rely solely on the required
attribute, unless you want to provide backwards compatibility on old screen reader software versions.
Example:
<form action="order.">
<!-- This will raise a warning on unnecesary attributes -->
<input id="city" name="city" aria-required="true" required />
<!-- You can use this instead -->
<input id="city" name="city" required />
</form>
Learn more:
The maxlength
attribute can be used on an input
element to define a client-side validation for the maximum length allowed on an input without resorting to JavaScript.
This attribute is only allowed on elements of type email
, password
, search
, tel
, text
, or url
.
The minlength
attribute can be used on an input
element to define a client-side validation for the maximum length allowed on an input without resorting to JavaScript.
This attribute is only allowed on elements of type email
, password
, search
, tel
, text
, or url
.
The minlength attribute defines the minimum number of characters (as UTF-16 code units) the user can enter into an <input>
or <textarea>
. This must be an integer value 0 or higher. If no minlength is specified, or an invalid value is specified, the input has no minimum length. This value must be less than or equal to the value of maxlength, otherwise the value will never be valid, as it is impossible to meet both criteria.
Here’s an example:
<label for="name">Enter your name (max 25 characters)</label>
<input type="text" minlength="25" id="name">
Learn more:
The pattern
attribute is only allowed on input whose type
is email
, password
, search
, tel
, text
or url
. Check the type
used, and consider changing to one of the allowed types to enable pattern client-side validation.
The pattern
attribute is a handy way of adding client-side validation on HTML forms without resorting to JavaScript. Check out this article to learn more about Input Pattern.
<input>
elements can’t have a search
role. Instead, try with <input type="search">
.
<input>
elements of type search
are text fields designed for the user to enter search queries into. These are functionally identical to text inputs, but may be styled differently depending on the user agent.
The search
role is a landmark. Landmarks can be used by assistive technology to quickly identify and navigate to large sections of the document. The search role is added to the container element that encompasses the items and objects that, as a whole, combine to create search functionality. When a <form>
is a search form, use the search
role on the form
.
Example of a search form:
<form role="search">
<label for="search-input">Search this site</label>
<input type="search" id="search-input" name="search">
<input value="Submit" type="submit">
</form>
Learn more:
The value tel-national
cannot be used on the attribute autocomplete
of an <input>
element of type tel
. Either change to type="text"
, or use autocomplete="tel"
. Examples:
<!-- Using autocomplete "tel-national" on type "tel" is invalid -->
<input name="phone1" type="tel" autocomplete="tel-national" />
<!--Using autocomplete "tel-national" on type "text" is valid -->
<input name="phone2" type="text" autocomplete="tel-national" />
<!--Using autocomplete "tel" on type "tel" is valid -->
<input name="phone3" type="tel" autocomplete="tel" />
Read more about the autocomplete attribute.
The href
attribute on an <a>
link contains a space character, which is not allowed. If you’re trying to link to a phone URL, review the href
attribute to remove unallowed characters, as in this example:
<!-- Invalid as it contains a space character -->
<a href="tel: +123456789">call me</a>
<!-- Valid -->
<a href="tel:+123456789">call me</a>
Source:
The value used in the datetime
attribute is not in a valid format.
The <time>
HTML element represents a specific period in time. It may include the datetime
attribute to translate dates into machine-readable format, allowing for better search engine results or custom features such as reminders.
Learn more:
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.