Manifest position 759 · CrUX rank bucket 1000

https://visa.mofa.gov.sa

Coverage complete

Coverage-complete model audit of five representative public paths. Excluded: authenticated post-login workflows, real application submission requiring identity/data, PDF contents, and the external ksavisa.sa site.

Attempts
1 / 3
Judged checks
58 / 58
Blocked
0
Not run
0
This report has no published overall score. Blocked and not-run checks are not passes. A coverage-complete report means every check has a judged outcome; it does not mean every check passed.

All 58 atomic check outcomes

Principle / checkStatusConfidenceEvidence or reason
respect-user-preferences
respects-color-scheme
issueshighThe dark-preference screenshot is visually indistinguishable from the light rendering, and the CSS probe found no prefers-color-scheme rule.
F01 medium: The site does not honor the user’s dark color-scheme preference.
respect-user-preferences
respects-reduced-motion
issueshighThe reduced-motion probe matched prefers-reduced-motion: reduce but still found a running animation with duration 10000 ms.
F02 medium: A non-essential 10-second animation continues under reduced motion.
respect-user-preferences
respects-contrast
passhighForced-colors screenshot preserves visible text, controls, borders, and page hierarchy.
implement-natural-interactions
view-transitions
issueshighThe CSS probe found no view-transition usage across the inspected MPA routes.
F03 low: Page and state changes are abrupt rather than continuity-preserving.
implement-natural-interactions
scroll-driven-animations
passhighNo scroll-linked animation is present; CSS probe found neither scroll handlers as a UI technique nor animation-timeline, so there is no main-thread scroll animation anti-pattern on inspected paths.
implement-natural-interactions
physical-gestures
passhighInspected routes use native scrolling and links; CSS/DOM probe found no custom pointer gesture system that fights platform behavior.
provide-guided-navigation
scroll-state-aware-chrome
issueshighThe CSS probe found no scroll-state/container or scroll-timeline support while screenshots show persistent multi-row header/banner chrome.
F04 low: The large navigation chrome does not react to scroll position.
provide-guided-navigation
anchored-positioning
issueshighThe DOM contains tooltip links and Bootstrap scripts, while the CSS probe found no anchor-name or position-anchor usage.
F05 low: Help tooltips rely on legacy scripted positioning rather than resilient anchored positioning.
provide-guided-navigation
directs-attention
passhighService listing visually marks the active visitor-services tab and pairs each card with a clear heading and action.
maximize-content-reduce-noise
no-intrusive-interruptions
issueshighDesktop and mobile load screenshots show a centered promotional modal plus a bottom consent banner covering most of the first viewport.
F06 high: A launch modal and consent banner obscure the primary service and lookup content on arrival.
maximize-content-reduce-noise
semantic-dismissible-primitives
issueshighDOM evidence found div.modal elements with role=dialog; axe reports the visible dialog has no accessible name.
F07 medium: The launch experience uses custom Bootstrap div dialogs with incomplete semantics.
maximize-content-reduce-noise
reduced-chrome
issueshighService, login, and support screenshots show the KSA Visa banner and bottom consent layer consuming substantial viewport area.
F08 medium: Promotional and consent chrome displaces core content on every representative route.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighLayout metrics on home and support at 360 px report horizontalOverflowPx 0 with viewport meta present.
adapt-to-the-form-factor
component-level-responsiveness
issueshighThe CSS probe found no @container rules despite card/form components being reused in different page regions.
F09 low: Reusable cards and forms adapt only through legacy viewport styling.
adapt-to-the-form-factor
input-modality-aware
issueshighThe active-control probe reports outline-style none for sampled links/fields and multiple controls at 12–41 px in one dimension.
F10 high: Keyboard focus is not visibly indicated and several targets are undersized.
support-core-task-success
clear-purpose-and-primary-action
passhighHome, service-listing, login, and support screenshots present explicit Arabic headings and task-specific actions.
support-core-task-success
primary-flow-completion
passhighVisitor service cards expose direct “Apply” actions and login offers both national SSO and account routes without an observed dead end before credential handoff.
support-core-task-success
clear-system-state-and-recovery
passhighEmpty form submission exposes required-state messages and the invalid-route screenshot presents a clear 404 explanation and recovery instruction.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 5.5 s (performance 0.73); the independent trace measured LCP 4075.66 ms and FCP 3573.56 ms.
F11 high: The main page misses the good LCP range.
be-fast-and-stable
visual-stability
passhighLayout observer measured CLS 0 on mobile home/support; Lighthouse CLS was 0.058, within the good range.
be-fast-and-stable
efficient-main-thread
passhighTrace found one 68.24 ms long task and only 18.24 ms TBT; Lighthouse measured 0 ms TBT.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR reports 8 parser-inserted high-priority stylesheets, synchronous classic scripts, an uncompressed 56 KB document, and missing cache headers on major assets.
F12 medium: Critical delivery is slowed by many blocking resources and weak cache/compression hygiene.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimates 55 KiB of unused CSS; HAR shows 9 stylesheets and 12 scripts for a small landing page.
F13 low: The page ships avoidable CSS and legacy dependency overhead.
be-inclusive
names-roles-labels
issueshighAxe reports critical label/select-name/image-alt failures, unnamed tooltip links, and an unnamed launch dialog.
F14 high: Core lookup controls and contextual help lack accessible names.
be-inclusive
sufficient-contrast
issueshighAxe measured ratios of 4.34:1 and 3.38:1 for normal-sized text, below the required 4.5:1.
F15 medium: Navigation and service text fail WCAG AA contrast.
be-inclusive
structure-and-focus
issueshighAxe reports invalid heading order and content outside landmarks; the focus probe found no visible outline on sampled controls.
F16 medium: Heading, landmark, and keyboard-focus structure is incomplete.
be-inclusive
legible-text
passhighRepresentative desktop/mobile screenshots show readable Arabic text without clipping or horizontal overflow.
be-inclusive
zoom-reflow-targets-and-media
issueshighMobile layouts have no horizontal overflow, but the modality probe measured links and help icons as small as 12×12 px and key controls below 44 px high.
F17 medium: Although mobile reflow works, several interactive targets remain too small.
follow-best-practices
no-console-errors
passhighLighthouse errors-in-console audit scored 1 and the page completed all CDP probes without an uncaught exception.
follow-best-practices
sound-document-and-assets
issueshighDOM/Lighthouse report no HTML doctype; the image audit found all 6 images missing explicit width and height.
F18 medium: The document lacks a doctype and image sizing metadata.
follow-best-practices
browser-platform-hygiene
passhighLighthouse deprecations audit passed; probes found no load-time permission prompt, paste blocker, or broken runtime flow.
be-discoverable
title-and-description
issueshighDOM probe found title “منصة التأشيرات” and no meta description; representative routes reuse the same title.
F19 medium: Pages use a generic title and omit meta descriptions.
be-discoverable
crawlable-and-mobile-friendly
issueshighDOM probe found javascript: and # hrefs; Lighthouse crawlable-anchors and robots audits score 0, and /robots.txt returns a request-rejected HTML page.
F20 medium: Some links are not crawlable and robots.txt is unusable.
be-discoverable
canonical-and-indexing-signals
issueshighProbe found no canonical; sitemap.xml returned an empty body and robots.txt was blocked, despite public routes returning 200.
F21 medium: Canonical, sitemap, and consistent indexing signals are missing.
be-discoverable
structured-and-shareable-metadata
issueshighProbe found zero JSON-LD blocks and no Open Graph metadata on the home page.
F22 low: The public government service has no structured or social-preview metadata.
be-private-and-secure
secure-transport-and-headers
issueshighHeaders primitive found no CSP, HSTS, or nosniff; cookies primitive found cw0125088f without Secure or HttpOnly.
F23 high: HTTPS is used, but core security headers are absent and one cookie is not Secure.
be-private-and-secure
data-minimisation-and-third-parties
passhighTracker capture saw one third-party origin, no known trackers, and zero transferred third-party bytes; secrets scan found no exposed credentials.
be-private-and-secure
in-context-permissions-and-modern-auth
passhighNo permission prompt occurred on load; login path prominently supports the Saudi national unified access identity provider.
be-private-and-secure
defensive-browser-policies
issueshighHeaders primitive found no X-Frame-Options or CSP frame-ancestors, Referrer-Policy, or Permissions-Policy; all cookies use SameSite=None.
F24 high: Browser-enforced clickjacking, referrer, and permissions defenses are not configured.
be-resilient
progressive-enhancement
passhighDiscoverability runs show 100% rendered-content coverage in raw HTML for home, service, and login routes with no JS shell.
be-resilient
resilient-runtime-behaviour
passhighMenus, cards, modal dismissal, mobile support layout, and validation states remained usable in exercised paths without clipping or runtime failure.
be-resilient
offline-and-installable
not-applicablemediumThis transactional government visa service is intrinsically online and has no useful offline completion mode; offline/installability is contextual. No manifest or service-worker registration was found.
be-resilient
network-and-http-failure-states
passhighA nonexistent route produces a branded, explanatory recovery page rather than a blank shell or infinite spinner.
be-internationalised
lang-dir-and-logical-properties
issueshighDOM has lang=ar-sa but no dir; CSS probe found no logical properties and 846 left/right declarations.
F25 medium: The Arabic layout does not explicitly declare direction and relies heavily on physical CSS.
be-internationalised
locale-aware-data
not-applicablemediumNo locale-sensitive dates, currency, durations, or numeric presentation appeared in the representative public routes.
be-internationalised
time-zone-correctness
not-applicablemediumNo events, appointments, recurring intervals, or time-zone-sensitive data appeared in the exercised scope.
be-trustworthy
no-dark-patterns
issueshighThe first viewport is blocked by a promotional modal, while the consent banner exposes only “Agree” with no equivalent reject/manage choice.
F26 high: Consent and promotional defaults are coercive.
be-trustworthy
humane-error-handling
issueshighSubmitting an empty lookup yields three identical “required field” messages, while no controls match :invalid and axe finds missing labels.
F27 medium: Lookup validation is generic and not connected to programmatic invalid state.
be-trustworthy
trustworthy-input-assistance
issueshighDOM probe found blank autocomplete values for lookup fields and autocomplete=off for CAPTCHA; inspected sign-in is a primary account path.
F28 medium: Forms omit useful autocomplete semantics.
be-trustworthy
safe-commercial-and-account-flows
passhighNo commercial commitment appears in inspected scope; account path clearly separates national SSO and legacy sign-in without a forced upsell.
be-sustainable
optimised-assets
issueshighImage audit found 6/6 without dimensions, 3 without srcset, 2 legacy-format images, 2 below-fold images not lazy-loaded, and one oversized logo.
F29 medium: Image delivery lacks basic sizing and responsive optimization.
be-sustainable
no-wasteful-work
passhighHAR is bounded at 38 requests/630 KB and trace shows only 18.24 ms TBT with no media or background polling observed.
be-sustainable
third-party-and-media-budget
passhighOnly one zero-byte third-party request was recorded, no audio/video exists, and no autoplay media was found.
be-agent-ready
structured-agent-capabilities
not-applicablemediumEmerging agent tooling was judged out of scope for this public visa portal audit; conventional server-rendered forms and links remain machine-readable.
be-agent-ready
on-device-inference
not-applicablemediumNo summarisation, generation, or other inference task exists on the inspected public routes where on-device AI would materially improve the core journey.
be-memory-efficient
no-leak-under-repeated-interaction
passhighAfter 10 dropdown open/close cycles, heap node count and self size decreased (148681→148404 nodes; 9,291,146→9,249,360 bytes).
be-memory-efficient
bounded-footprint
passhighBaseline heap is proportionate for the page at 148681 nodes and 9.29 MB self size; DOM probe counted 270 live elements.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passhighRepeated interaction left live DOM count unchanged at 270 and listener probe delta at 0; post heap did not grow.

Provenance

Canonical report: results/atomic/reports/0759-visa_mofa_gov_sa.json
Report SHA-256: 660c1c8d63635607845a10d4b9832fc2a411d9cb677c2cabe1371dd1981d059f
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/visa_mofa_gov_sa/2026-07-22T21-27-09-990Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/visa_mofa_gov_sa/2026-07-22T21-27-09-990Z
Catalog SHA-256: sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7

Raw screenshots, HARs, traces, heaps, and other browser artifacts are retained at the local evidence root and intentionally are not committed. Artifact paths in the canonical report are relative to that root.