WDA-41-01 deep review — September 29, 2026¶
The study guide now maps all 40 objectives, expands all 40 answer explanations and contains 15 exact public code blocks with 14 reproducible original assets. This is a same-context AI review; independent human review remains pending.
Scope and source boundaries¶
The complete current indexed English HTML syllabus was read and manually matched to the retained normalized subjects: active WDA-41-01, September 16, 2025, groups 10/9/10/5/6 and weights 25/22.5/25/12.5/15. Direct fetching and automated monitoring failed; no fresh hash-comparison success is claimed. The current linked PDF was inaccessible except for its indexed cover and first two objectives; its cover says September 15. The normalized 75% threshold is not an equal-item shortcut.
The complete indexed credential page and public CSS course were read. The credential lists TestNow, 40 questions, English/Spanish and USD195/225/practice49, but its 60-minute headline differs from approximately 65 exam minutes plus 2–5 tutorial/NDA minutes. It mislabels WDE as Associate and contains unrelated future JavaScript-oriented WDA roadmap copy; the overview mislabels the title entry-level. Those copy problems do not replace the active HTML/CSS syllabus. No booking, purchase, account, supervision or voucher confirmation occurred. WDE's homepage/Pearson and practice-row contradictions are not borrowed into this WDA review.
There are 60 registered sources, with direct outcomes {'error': 14, 'ok': 44, 'blocked': 2}. Cisco's HTTP200 was only a 14-character application shell; O'Reilly/Udemy returned 403. Sass pages mostly failed direct retrieval, but selected indexed documentation was read. Exact source notes distinguish full bodies, selected sections and indexes. The CSS landing lists 40 hours, nine modules and 45+ lessons; HTML lists 25 hours, six modules. Full public Pluralsight content was read during the immediately preceding same-date review: 31 hours, ten courses, seven labs. No paid lesson or exam item was accessed. Provider totals are separated from author budgets and ambiguous Core/Pro text comparison is retained.
Original execution¶
The browser workbook passed 42 CSS checks, and the original harness passed 90 checks in Chrome 154.0.8037.58. It rendered exact original HTML/CSS/JS over route-intercepted HTTPS and exercised specificity columns, functional selectors, normal/important layers, inheritance, invalid custom values, boxes, relative/absolute/fixed/sticky positioning, nested stacking, flex growth/shrink/minimum sizes, Grid fractions/empty tracks, RTL, feature queries, keyframes and active transitions. The visible workbook button repeated the fixtures. Browser-derived role/name queries, keyboard actions, native form validity, FormData and output behavior were checked; this is not a complete accessibility-tree or screen-reader audit.
The service page was checked at 320/375/768/1280 CSS pixels, with doubled root font at 320px, reduced-motion emulation, print and RTL. A real failure exposed a later component layer overriding the hidden-error guard; the final unlayered guard fixes corrected-error visibility. Without scripting the content remains readable and the estimate fieldset stays disabled. With scripting, submission makes only a local estimate; optional allowlisted completion events remain in tab memory and are cleared on opt-out.
Actual Bootstrap 5.3.8 CSS was fetched (232,111 bytes), its official SHA384 SRI matched and original components rendered with base/hover/focus/disabled/motion and 768px breakpoint checks. The original Sass module compiled using genuine Dart Sass 1.105.0 browser code and Immutable 5.1.9 from jsDelivr. Expanded/compressed output, rendered padding/nested rules, original-source map contents, once-only module CSS and rejected reconfiguration were verified. The official playground and JSPM route failed; this browser module fallback is separately recorded. Vendor bytes are private fetched dependencies, not included in the public original-asset archive. No npm/Sass/Less installation, Bootstrap Sass build, autoprefixer, bundler or persistent server was run.
Synthetic percentile and shift-window exercises test arithmetic boundaries. A separate actual browser fixture observed a raw LCP candidate, unexpected layout shift and slow click Event Timing entry. These are bounded local observations, not a complete Web Vitals lifecycle implementation, field p75, real-user study, deployed analytics system or legal-compliance assurance. No analytics beacon or real location request occurred.
All five final HTML files were actually POSTed to the W3C Nu checker and returned zero messages. Both baseline.css and styles/service.css passed the CSS3 validator with zero errors/warnings through SOAP12 GET requests; initial JSON POST HTTP500 failures are preserved. Exact final file hashes are matched to public blocks and browser receipts. The public Python extractor recreated all 14 original assets byte for byte, refused an existing destination and rejected corruption before creating a directory. LF byte normalization keeps public blocks and fetched fixture bytes reproducible on Windows.
Remaining limits and evidence¶
The guide retains ten proposed broader labs. No real browser-zoom, screen-reader, real-device, cross-browser, full WCAG, human usability, complete build/deployment pipeline or paid-course completion is claimed. Duration/product-policy uncertainty, direct access failures, partial PDF visibility and independent human review remain blockers. The five GitHub certification pilots remain reserved and their workflows/notifications unchanged.
The JSON operation record contains all 40 mappings, 60 source-reading boundaries, exact public blocks, 14 original assets, original harnesses and actual receipts. Save it as wda-review.json for the extractor. Full repository, unit, catalog and strict generated-site gates are recorded after completion.