Shared fixtures and semantic snapshots for independent site renderers.
HTML byte equality is deliberately absent. A renderer adapter records the
portable semantics observed in its hosted or static surface; compare/2
checks content identity, routes, headings, links, landmarks, accessible names
and ordinary actions while allowing an honest unavailable static state for a
live-only action.
Summary
Functions
Compares hosted and static surfaces, including honest live-action degradation.
Loads and validates the bundled renderer-conformance fixture.
Returns the bundled renderer-conformance fixture path.
Builds a validated semantic surface from renderer-observed page records.
Functions
@spec compare( DocShell.Presentation.Conformance.Surface.t(), DocShell.Presentation.Conformance.Surface.t() ) :: :ok | {:error, term()}
Compares hosted and static surfaces, including honest live-action degradation.
Loads and validates the bundled renderer-conformance fixture.
@spec fixture_path() :: Path.t()
Returns the bundled renderer-conformance fixture path.
@spec surface(DocShell.Presentation.Site.t(), :hosted | :static, map()) :: {:ok, DocShell.Presentation.Conformance.Surface.t()} | {:error, term()}
Builds a validated semantic surface from renderer-observed page records.