GeezerVison is showing github.com — Place template elements in head before body by gyanu2507 · Pull Request #614 · html5lib/html5lib-python
Conversation
gyanu2507
commented
Nov 2, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Summary
Before this change, a leading <template> was treated as an ordinary body element: InHead closed the head and reprocessed the token, so the element landed under <body>.
WHATWG says a template start tag in the "in body" insertion mode must use the "in head" rules, which place the element in <head>. This PR:
- Handles
template in InHead (and the AfterHead / InBody "process in head" lists)
- Adds a simplified InTemplate phase so contents stay under the template element
- Leaves template children as ordinary child nodes (html5lib still does not implement the template content document fragment)
Fixes #595
Test plan
-
pytest html5lib/tests/test_parser2.py (12 passed)
- Manual check:
<template></template> and <template>hi</template> put template under head
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Handle template start tags with the in-head rules and a simplified
in-template phase so <template> before <body> lands in <head>, matching
WHATWG insertion-mode requirements. Contents remain ordinary children.
Fixes html5lib#595
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.