# Attribute “isolang” not allowed on element “html” at this point.

> Canonical HTML version: https://rocketvalidator.com/html-validation/attribute-isolang-not-allowed-on-element-html-at-this-point
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The W3C HTML Validator reports this error when it encounters `isolang` on the `<html>` element because `isolang` is not a recognized attribute in any version of HTML. This typically happens when developers attempt to specify the document's language but use an incorrect or made-up attribute name, possibly confusing it with ISO language code terminology.

The correct attribute for declaring a document's language is `lang`. This attribute accepts a valid BCP 47 language tag, which in most cases is a simple two-letter ISO 639-1 code (like `en` for English, `fr` for French, or `pt` for Portuguese). You can also use extended subtags for regional variants, such as `en-US` for American English or `pt-BR` for Brazilian Portuguese.

Setting the `lang` attribute properly is important for several reasons:

- **Accessibility:** Screen readers use the `lang` attribute to select the correct pronunciation rules, ensuring content is read aloud accurately.
- **SEO:** Search engines use the language declaration to serve the right content to users based on their language preferences.
- **Browser behavior:** Browsers rely on `lang` for features like spell-checking, hyphenation, and selecting appropriate default fonts for the given language.
- **Standards compliance:** Only recognized attributes pass W3C validation, and valid markup ensures consistent, predictable behavior across browsers.

To fix this issue, simply replace `isolang` with `lang` on your `<html>` element. Keep the same language code value—it's the attribute name that's wrong, not the value.

## Examples

### ❌ Incorrect: Using the invalid `isolang` attribute

```html
<!DOCTYPE html>
<html isolang="pt">
  <head>
    <title>Minha Página</title>
  </head>
  <body>
    <p>Olá, mundo!</p>
  </body>
</html>
```

This triggers the error: **Attribute "isolang" not allowed on element "html" at this point.**

### ✅ Correct: Using the `lang` attribute

```html
<!DOCTYPE html>
<html lang="pt">
  <head>
    <title>Minha Página</title>
  </head>
  <body>
    <p>Olá, mundo!</p>
  </body>
</html>
```

### ✅ Correct: Using a regional language subtag

```html
<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <title>Minha Página</title>
  </head>
  <body>
    <p>Olá, mundo!</p>
  </body>
</html>
```

### Common language codes

Here are some frequently used ISO 639-1 language codes for the `lang` attribute:

- `en` — English
- `es` — Spanish
- `fr` — French
- `de` — German
- `pt` — Portuguese
- `zh` — Chinese
- `ja` — Japanese
- `ar` — Arabic
- `ko` — Korean
- `ru` — Russian
