You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
page-fidelity.js heading/action/content match is a substring test over the whole page MDL, so a wireframe heading counts as present without being a heading #158
Here corpus is the entire normalised page MDL: page name, entity and attribute names, microflow names, captions and comments. words() keeps only words longer than 3 characters. includes is a substring test. So:
A wireframe H2 "Case overview" is "present" on any page named Case_Overview, whether or not the page renders that heading.
A one-word heading, after the >3-char filter, is present if the word occurs anywhere, even inside an identifier (case ⊂ CustomerCase).
60% of the words is enough, so a three-word heading needs only two of them anywhere.
The dimension can therefore read green for a heading, button or block the page does not show.
The style-gallery page scored 80% with this in play. A wireframe H2 counted as present because page text shared its words. The project's rule since: read the miss list and the LOOK, never the percentage alone.
Suggested fix
Match headings against caption strings only: Caption:/Content: literals of dynamictext/statictext and title widgets, plus the page Title:. Match actions against button captions.
Match on whole words, not substrings.
For short labels (fewer than 3 kept words) require all words.
Keep the substring corpus only for bindings, where identifiers are the point.
Filed rather than fixed because it changes every existing project's scores. It needs golden page MDL plus a wireframe pair captured from a real project to show the before/after.
Fixed by #318, which landed on master in the integration squash #329 (commit 31e90ae) after independent review. Closing; reopen if it still reproduces on master.
Activity
Merge #318: page-fidelity scorer matches displayed text (closes #158,…
MendixMau commentedon Oct 14, 2026
Fixed by #318, which landed on master in the integration squash #329 (commit 31e90ae) after independent review. Closing; reopen if it still reproduces on master.
Generated by Claude Code