website: the reviewer's findings - consent error, reply time, sitemap, voice, clip
gates / gates (push) Successful in 6m12s
gates / gates (push) Successful in 6m12s
A page-by-page review of the live site (1440px and 390px) found six defects and
two editorial questions. The operator answered three questions; the answers and
the evidence are in REPORT-review-2026-10-12.md.
Fixed:
- The contact form showed its consent error before any submit, on both pages:
#privacyError sits outside any .form-group and the hide rule was scoped to
.form-group. Scoped to the page. Checked: load (none) -> submit unticked
(shown) -> tick (gone), with no message sent.
- The consent checkbox is the site's own control now: 24px box, keyboard focus
ring, and a second <label for="privacy"> at 44x44 round it for touch.
- The contact page promised a reply within 24 hours while /feltetelek 1.1 §4
promises no reply time. Now 1-2 days usually, and no promise during the test.
- sitemap.xml was missing /szolgaltatasok and /en/services: 18 -> 20 URLs.
- The pre-shell mobile-menu script still ran on 20 pages and logged
"[mobile-menu] Missing elements" on every one. Removed.
- The sidebar's tester button was btn-outline while the hero's was btn-primary.
- The home page's "Mit tud a doboz ma?" was three bare links; each card now
carries 2-3 of the services page's own items, word for word.
- A plain Facebook link in the footer of all 22 pages. No script, widget or
pixel: the only external hosts any page refers to are still felhom.eu and
stats.felhom.eu.
Voice (operator ruling: "I" everywhere a person speaks): contact, tester and FAQ
pages in both languages, and the home and services pages that repeat the same
promises. An inclusive "we" (you and I, talking) stays plural, and the legal
texts are untouched. Each FAQ answer exists twice (JSON-LD + visible) and gate 18
holds them equal - it caught the five answers whose markup split the sentence.
Hero clip rebuilt: Immich first, so the poster is a wall of real photographs;
the Jellyfin scene starts after the demo's library wall (eleven pieces of poster
art whose licence cannot be quoted from a first-party source); 1.3s of blank
screen cut from the OnlyOffice scene. The film that plays, Caminandes 3:
Llamigos, is CC BY per Blender's own video platform ("licence": {"id": 1,
"label": "Attribution"}) - NOT public domain as website/CHANGELOG.md said
yesterday. That sentence is corrected in place and the film is credited under
the hero caption.
New gate 24: sitemap.xml lists every public page once, with its twin's hreflang
pair, and lists nothing else. Decoy: site/sitemap-missing-page, the exact shape
the reviewer found by hand.
site.css ?v=30; hero clip and poster ?v=2.
This commit is contained in:
+67
-12
@@ -658,13 +658,16 @@ body:not(.shell) .mobile-overlay.is-visible { opacity: 1; }
|
||||
border-color: var(--crit);
|
||||
|
||||
}
|
||||
.page-kapcsolat .form-group .error-message {
|
||||
/* The consent error sits OUTSIDE any .form-group (it belongs to the whole checkbox row),
|
||||
so a hide rule scoped to .form-group never reached it and it was on screen from the first
|
||||
paint - the reviewer saw it on the live page, 2026-10-12. Scoped to the page instead. */
|
||||
.page-kapcsolat .error-message {
|
||||
color: var(--crit);
|
||||
font-size: 0.8rem;
|
||||
margin-top: 6px;
|
||||
display: none;
|
||||
}
|
||||
.page-kapcsolat .form-group .error-message.visible {
|
||||
.page-kapcsolat .error-message.visible {
|
||||
display: block;
|
||||
}
|
||||
.page-kapcsolat .form-group select {
|
||||
@@ -928,14 +931,42 @@ body:not(.shell) .mobile-overlay.is-visible { opacity: 1; }
|
||||
gap: 12px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
/* The consent box was the browser's own 18px control. It is now the site's: a 24px box that
|
||||
takes the design system's border and blue, a focus ring that is visible from the keyboard,
|
||||
and - because a 24px box is below every touch guideline - a second <label for="privacy">
|
||||
wrapped round it, 44x44, pulled back into place with negative margins so the layout does not
|
||||
move. A label toggles the control it names, so the whole 44px square is tappable; the text
|
||||
label beside it still works too. */
|
||||
.page-kapcsolat .cb-hit {
|
||||
display: inline-flex; align-items: center; justify-content: center;
|
||||
width: 44px; height: 44px; margin: -10px -10px -10px -10px;
|
||||
flex-shrink: 0; cursor: pointer;
|
||||
}
|
||||
.page-kapcsolat .checkbox-group input[type="checkbox"] {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
margin-top: 2px;
|
||||
accent-color: var(--blue);
|
||||
appearance: none; -webkit-appearance: none;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 0;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
background: var(--bg-1);
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.page-kapcsolat .checkbox-group input[type="checkbox"]:hover {
|
||||
border-color: var(--blue);
|
||||
}
|
||||
.page-kapcsolat .checkbox-group input[type="checkbox"]:checked {
|
||||
background-color: var(--blue);
|
||||
border-color: var(--blue);
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5l3.2 3.2L13 5'/%3E%3C/svg%3E");
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
.page-kapcsolat .checkbox-group input[type="checkbox"]:focus-visible {
|
||||
outline: 2px solid var(--blue-bright);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
.page-kapcsolat .checkbox-group label {
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-2);
|
||||
@@ -2537,17 +2568,35 @@ html::-webkit-scrollbar-corner, .shell ::-webkit-scrollbar-corner { background:
|
||||
}
|
||||
|
||||
/* --- the home's pointer to /szolgaltatasok: the three group names, nothing invented --- */
|
||||
/* The teaser was three bare links: the home page's biggest section said nothing
|
||||
about what the box does (operator's reviewer, 2026-10-12). Each card now names
|
||||
the service page's own items under its title - the card is the box, the link is
|
||||
the title inside it, so the points sit in the same frame. */
|
||||
.shell .caps-teaser {
|
||||
list-style: none; display: grid; grid-template-columns: repeat(3, 1fr);
|
||||
gap: 14px; margin-bottom: 1.5rem;
|
||||
}
|
||||
.shell .caps-teaser a {
|
||||
display: block; padding: .85rem 1rem; border: 1px solid var(--line);
|
||||
border-radius: var(--radius); color: var(--text-1); text-decoration: none;
|
||||
font-weight: 600; font-size: .95rem; line-height: 1.35;
|
||||
transition: border-color .2s ease, color .2s ease;
|
||||
.shell .caps-teaser > li {
|
||||
padding: .85rem 1rem; border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
transition: border-color .2s ease;
|
||||
}
|
||||
.shell .caps-teaser > li:hover { border-color: var(--blue); }
|
||||
.shell .caps-teaser a {
|
||||
display: block; color: var(--text-1); text-decoration: none;
|
||||
font-weight: 600; font-size: .95rem; line-height: 1.35;
|
||||
transition: color .2s ease;
|
||||
}
|
||||
.shell .caps-teaser a:hover { color: var(--blue-bright); }
|
||||
.shell .caps-teaser ul { list-style: none; margin: .5rem 0 0; padding: 0; }
|
||||
.shell .caps-teaser ul li {
|
||||
position: relative; padding-left: .9rem;
|
||||
color: var(--text-2); font-size: .88rem; line-height: 1.55;
|
||||
}
|
||||
.shell .caps-teaser ul li::before {
|
||||
content: ""; position: absolute; left: 0; top: .62em;
|
||||
width: 5px; height: 5px; border-radius: var(--radius); background: var(--blue);
|
||||
}
|
||||
.shell .caps-teaser a:hover { border-color: var(--blue); color: var(--blue-bright); }
|
||||
@media (max-width: 760px) {
|
||||
.shell .caps-teaser { grid-template-columns: 1fr; gap: 10px; }
|
||||
}
|
||||
@@ -2580,6 +2629,12 @@ html::-webkit-scrollbar-corner, .shell ::-webkit-scrollbar-corner { background:
|
||||
margin-top: .4rem; text-align: center;
|
||||
font-size: .85rem; color: var(--text-2);
|
||||
}
|
||||
/* CC BY asks for the title, the author and the licence where it is reasonable to
|
||||
give them, so the one film that plays inside the clip is credited under the
|
||||
caption rather than in a file nobody opens. */
|
||||
.hero-credit { display: block; margin-top: .15rem; font-size: .78rem; color: var(--text-3); }
|
||||
.hero-credit a { color: inherit; text-decoration: underline; }
|
||||
.hero-credit a:hover { color: var(--blue-bright); }
|
||||
@media (max-width: 900px) {
|
||||
.hero-laptop { max-width: 520px; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user