Page check
What breaks on one page load.
Paste an address. A browser loads the page on a desktop and on a phone, light and dark, and checks for text you cannot read, images and stylesheets that failed, sideways scrolling, a page that ignores clicks or cannot scroll, and controls hidden under fixed bars, with the measured checks built for the GenClass runtime (in testing; not in runtime 0.2.1). Then it types into the search box and double-clicks a submit button to look for races, with GenClass 0.2.1 watching. Requests that could change something on the site are answered inside the browser and never sent.
Score
| Category | Findings | Deducted |
|---|
What the score measures: this page, this one load, in three views, against the checks listed on How it works. Each finding takes 10, 5 or 2 points by severity, and no category can take more than 25. What it does not measure: speed, SEO, accessibility beyond contrast, or anything that needs a signed-in user or a second page.
Where the findings are
Findings
Race probe
What was tried, and what GenClass sawOn the desktop page, with the GenClass runtime loaded in observe mode, the scanner typed into the first search box and double-clicked the most prominent submit button. Requests other than GET were answered inside the browser and never reached the site; GET responses got up to 1.5 s of extra latency so they could arrive out of order. Then it did the same again in a fresh page with GenClass in guard mode.
What one page load cannot show
Read the score with these in mind- One page, one load. Problems that need a second page, a signed-in user or a slow network do not show up here.
- No real users. The probe types three letters and double-clicks one button. Real visitors do far more, on slower networks. GenClass in production watches the requests their actions make.
- Nothing that changes data is sent. POST, PUT, PATCH and DELETE requests get a stand-in reply from the scanner instead. If the page loads content that way, that content is missing or wrong here, and findings that may come from it are listed but not scored.
- Some checks need a known background. Text over images, gradients or video is skipped by the contrast check rather than guessed at.
- No clicks on the page. The scanner presses Tab and scrolls, but clicks only the probe's submit button, so checks that need a visitor's clicks (an invisible layer that swallows them) do not run here.
- Six seconds per view. Problems that appear later, after a timer or a second interaction, are not seen.
- Bot protection. Some sites show a challenge page to automated browsers. The report then describes that page, not the site.
Watch every visit, not one page load.
GenClass runs inside your pages for real visitors and reports the races that only real traffic triggers: responses that land over newer data, duplicate submits, endpoints that keep failing. In guard mode it can merge a duplicate submit or drop a late response when the expected gain clears its safety margin. The race probe above shows whether it did on this page. The visual checks on this page are built for the runtime and in testing for a release after 0.2.1; runtime 0.2.1 does not have them yet.
Install in one line, first thing in <head>
<script src="https://cdn.jsdelivr.net/npm/@genclass/runtime@0.2.1" data-mode="guard"></script>
Or npm i @genclass/runtime. Free and open source (Apache-2.0).