p-as-heading
A <p> styled to look like a heading should probably be a real heading
Flags short <p> elements whose entire text is bold and rendered at >=18px, for manual review of whether a real heading element should be used instead.
Applies to. `<p>` elements with short (<=120 char), non-empty trimmed text content that is entirely bold (the `<p>`'s own computed `font-weight` >= 700, OR its entire text is wrapped in a single `<strong>`/`<b>` child) and rendered at >=18px.
Expectation. Text styled to visually read as a heading (bold, larger-than-body size, short) should be marked up with a real heading element (`<h1>`-`<h6>` or `role="heading"`) so its structural role is programmatically determinable, the same 1.3.1 concern as any other "structure conveyed through presentation only" issue.
Examples
<style>.fakeHeading { font-weight: bold; font-size: 22px; }</style><p class="fakeHeading">Section Title</p>
Bold, heading-sized, and short — visually a heading, but marked up as a plain `<p>` with no heading semantics.
<p>Just a normal paragraph of body text that is not bold at all.</p>
Normal weight and size; nothing visually suggests a heading.