Methodology
How the audit works
Squint uses fixed rules, not an AI model. The same page gets the same result every time, and every rule and threshold is listed here.
What we capture
We open your homepage in a headless Chrome browser at two sizes, Desktop 1440 × 900 and Mobile 390 × 844, wait for it to settle, and scroll through it once so lazy-loaded content appears.
From the rendered page we read computed styles (fonts, sizes, colors, spacing, corner radii, shadows), the position of visible elements, and basic structure such as headings, images and form fields. We take one screenshot per size. Nothing is stored: the report and screenshots are sent to your browser and kept only there. Nothing from your site runs inside our pages.
Three kinds of finding
- Measured
- A number read from the rendered page, such as a font size, a contrast ratio or a count. Anyone can verify it in browser developer tools.
- Design judgment
- An opinion built on measurements, such as whether accents compete. We state the measurement so you can disagree with the opinion.
- Common pattern
- A default that appears on a very large number of sites. It describes how the page looks. It is never evidence of how, or by whom, the site was made.
Scoring
Each category starts at 100. A finding subtracts 22 points if it is high priority, 12 if medium and 5 if low, down to a floor of zero. The consistency score is the weighted average of the categories below.
The score measures the absence of detectable problems: a high number means the page is consistent and disciplined, not that it is beautiful, on-brand or persuasive. For the same reason, a page with fewer than 10 blocks of text or 500 characters gets no score at all. There is too little on it to get wrong, so a number would only flatter it.
A check that cannot run is marked not evaluated and is never treated as a pass. A category with nothing evaluated gets no score and is left out of the average.
| Category | Checks | Weight |
|---|---|---|
| Typography | 7 | 18% |
| Hierarchy | 5 | 18% |
| Color | 3 | 14% |
| Spacing | 4 | 14% |
| Consistency | 3 | 14% |
| Accessibility | 6 | 14% |
| Template signals | 8 | 8% |
Every check
Typography
Typefaces, sizes, weights, line spacing and line length.
- TYP-01Too many typefacesCounts the font families that render visible text. More than three is flagged.desktop
- TYP-02No consistent type scaleCounts distinct font sizes used more than once. More than eight is flagged.desktop
- TYP-03Body text is smallFinds the most common paragraph size. Below 15px is flagged.desktop
- TYP-04Body line spacing is offDivides the body line-height by its font size. Below 1.35 or above 1.9 is flagged.desktop
- TYP-05Too many font weightsCounts distinct font weights. More than four is flagged.desktop
- TYP-06Text too small to read on a phoneCounts visible text below 12px at the mobile viewport.mobile
- TYP-07Lines of text are too longEstimates characters per line in long paragraphs. More than 95 is flagged.desktop
Hierarchy
Whether headings and the main action stand out in the right order.
- HIE-01Page lacks a single main headingCounts h1 elements. Exactly one is expected.desktop
- HIE-02Heading levels are skippedReads headings in page order and flags jumps of more than one level (for example h2 to h4).desktop
- HIE-03Headings don't stand out from body textCompares the h1 size with body text and with h2. An h1 under 1.8 times body size, or an h2 as large as the h1, is flagged.desktop
- HIE-04No clear primary action on the first screenLooks at filled buttons visible before scrolling. None, or three or more in different colors, is flagged.desktop
- HIE-05Headline is below the first screen on mobileChecks whether the h1 starts within the first 844px on mobile.mobile
Color
Palette size, accent discipline and text contrast.
- COL-01Too many text colorsGroups near-identical text colors and counts the groups. More than six is flagged.desktop
- COL-02Low-contrast textComputes the WCAG contrast ratio of text against its solid background. Below 4.5:1 (3:1 for large text) is flagged. Text over images or gradients is not evaluated.desktop
- COL-03Competing accent colorsCollects saturated colors from buttons, text and gradients and counts distinct hue families. More than three is flagged.desktop
Spacing
Spacing rhythm and how the layout holds up on a phone.
- SPC-01Spacing doesn't follow a gridReads padding, margin and gap values and measures the share that are not multiples of 4px. Over 15% is flagged.desktop
- SPC-02Too many spacing valuesCounts distinct padding, margin and gap values used more than once. More than 16 is flagged.desktop
- SPC-03Page scrolls sideways on mobileCompares the document width with the 390px viewport.mobile
- SPC-04Content touches the screen edge on mobileLooks for text within 8px of the left or right edge of the mobile viewport.mobile
Consistency
Whether buttons, corners and shadows repeat as one system.
- CMP-01Buttons come in too many shapesGroups buttons by corner radius and height. More than three shapes is flagged.desktop
- CMP-02Inconsistent corner roundingCounts distinct border-radius values on boxes, cards and controls. More than four is flagged.desktop
- CMP-03Too many shadow stylesCounts distinct box-shadow values. More than four is flagged.desktop
Accessibility
Basic checks for labels, alt text, tap targets and zoom. Not a WCAG certification.
- A11Y-01Images without alternative textCounts visible images that have no alt attribute.desktop
- A11Y-02Form fields without labelsChecks each input, select and textarea for a label, aria-label or title. Placeholder text does not count.desktop
- A11Y-03Tap targets are too smallMeasures links, buttons and inputs at the mobile viewport. Anything under 24 × 24px (WCAG 2.2, 2.5.8) is flagged; links inside sentences are exempt.mobile
- A11Y-04Page language is not declaredChecks the html element for a lang attribute.desktop
- A11Y-05Zooming is blocked on mobileReads the viewport meta tag for user-scalable=no or a maximum-scale below 2.mobile
- A11Y-06Buttons or links without a nameLooks for links and buttons with no text, aria-label, title or labelled image inside.desktop
Template signals
Common default patterns. They describe how a page looks, never how it was made.
- SIG-01Purple-to-blue gradientLooks for gradients whose colors sit in the indigo, violet and purple range.desktop
- SIG-02Gradient-filled textLooks for text painted with a gradient (background-clip: text).desktop
- SIG-03Default typefaceChecks whether most text is set in a framework or system default such as Inter, Geist, Roboto, Arial or the system font.desktop
- SIG-04Emoji used as iconsCounts emoji in headings, buttons, links and list items.desktop
- SIG-05Rows of identical cardsLooks for rows of three or more equal-width rounded cards, each with a heading and a short text.desktop
- SIG-06Unmodified framework accent colorsCompares button and text colors with the stock Tailwind indigo, violet, purple and blue values.desktop
- SIG-07Nearly everything is centeredMeasures the share of text blocks that are center-aligned. Over 60% is flagged.desktop
- SIG-08Heavy use of blurred glass panelsCounts elements using backdrop-filter. Three or more is flagged.desktop
What it can't tell you
- Only the homepage is audited, as a signed-out first-time visitor. Other pages may be better or worse.
- Pages behind a login, bot protection or a hard paywall cannot be captured. When that happens the audit fails with an explanation instead of guessing.
- Cookie and consent banners are captured as a visitor would see them and can cover content. The report says when one was detected.
- Hover, focus, menus and other interactive states are not tested.
- Contrast is measured only where text sits on a solid color. Text over photos and gradients is reported as not evaluated.
- Very long pages are measured in full, but the screenshot stops at 6,000px on desktop and 8,000px on mobile.
- The accessibility checks are a basic screen, not a WCAG audit. Passing them does not mean a site is compliant.
- The audit cannot judge brand fit, copywriting, imagery or whether the design suits its audience. Those need a person.