Some HTML attributes belong to one particular tag. A global attribute can be written on many different HTML elements. autofocus is one of them, and it helps with requests initial keyboard focus when a page or dialog opens.
What autofocus changes
Requests initial keyboard focus when a page or dialog opens. You attach it to an opening HTML tag, usually beside other attributes.
Global does not mean the browser handles it identically on every element. Its usefulness still depends on the element, surrounding markup, accessibility requirements, and browser support.
Example in a real page
<label for="search-term">Search</label>
<input id="search-term" name="q" autofocus>
What to notice
Find autofocus in the opening tag. Its position among other attributes does not change its meaning; the name and value (or mere presence, for boolean attributes) are what matter.
Unexpected focus can move screen reader users away from the top of a page.
Using it in your projects
Start with the simplest HTML that works. Add this attribute when your page actually needs requests initial keyboard focus when a page or dialog opens. If changing the attribute does not visibly change the page, inspect how the browser or accessibility tree uses it rather than assuming the code failed.
For example, an attribute may give information to keyboard users, screen readers, a JavaScript component, or a stylesheet without changing the appearance of text.
Mini exercise
Copy the example into a test page. Remove autofocus, check the result, then restore it. Describe exactly what changed—and what stayed the same.
Common Beginner Mistakes
- Unexpected focus can move screen reader users away from the top of a page.
- Assuming every global attribute is appropriate on every tag without checking the context.
- Using a browser hint as if it enforces security or saves data automatically.
Key Takeaways
autofocus: Requests initial keyboard focus when a page or dialog opens.- Unexpected focus can move screen reader users away from the top of a page.
- Prefer clear native HTML, and test features that depend on browser support.