FormFair

Checks whether the validation constraints declared in web-form markup would reject legitimate personal names.

Runs locally in your browser Documentation
1

Provide markup

Paste the HTML of a form, load a local .html file, or start from an example. Your markup stays in this page.

FormFair reads the markup as written. It is never changed, saved or sent anywhere. Press Ctrl + Enter to analyse.

2

Analysis

What this tool does, and what it does not

What FormFair checks

Validation constraints declared in markup on controls it identifies as personal-name fields: the pattern, minlength and maxlength attributes, read against a frozen catalogue of five rules.

What it does not check

Server-side validation, framework logic and anything applied after the user interacts with the page are invisible to it by construction. It does not judge an organisation, and it does not test a live site.

Finding, advisory, decline

  • Finding — a catalogue rule was triggered, with the evidence that triggered it.
  • Advisory — a relevant boundary exists, but the evidence does not justify a finding. Never scored.
  • Decline — the rule could not decide and refused to guess. Reported, never hidden.

Why a zero is not a pass

No finding means no frozen catalogue rule was triggered by the supplied markup. It is not evidence that a form accepts every legitimate name, and it says nothing about validation this tool cannot see.

How name controls are identified

Signals are weighed, not vetoed: the autocomplete token, the name attribute, the associated label, the id, the placeholder and the class. Every analysed control shows the signals that identified it, so you can disagree with the judgement.

Privacy

Everything runs in this page. Markup you supply is not uploaded, stored, logged or sent to any service. There is no analytics, no cookie, no account and no backend. Once the page has loaded it makes no network requests at all.

The frozen rule catalogue

RuleFires whenStandards basis

Reproducing an example

Every example is synthetic and written for this page. Choosing one loads it and analyses it straight away; edit the markup and press Analyse to see the result change. The result comes from the published library function, not from stored text.

Reporting a problem

A finding shown here is a finding in the library. If one looks wrong, note the rule identifier, the markup and the evidence line, and report it with those three things.