Module

analysis.roles

Role classification for template blocks.

Heuristic classification based on block name and emitted landmarks. Returns "unknown" when classification is ambiguous.

Functions

classify_role 2 RoleType
Classify block role based on name and emitted landmarks. This is a heuristic, …
def classify_role(block_name: str, landmarks: frozenset[str]) -> RoleType

Classify block role based on name and emitted landmarks.

This is a heuristic, not semantic truth. Returns "unknown" when classification is ambiguous.

Priority:

  1. Landmarks (most reliable signal)
    1. Block name patterns (fallback)
Parameters
Name Type Description
block_name str

Block identifier (e.g., "nav", "content", "sidebar")

landmarks frozenset[str]

HTML5 landmarks emitted by this block

Returns
RoleType