Files
boc/design-audit-quixzoom-landvex.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

16 KiB

🔍 Designaudit: quixzoom.com & landvex.com

Datum: 2026-06-29
Auditor: OpenClaw Subagent
Omfattning: Visuell design, UX, SEO, innehÄll, teknisk struktur


📊 Sammanfattning

Aspekt quixzoom.com landvex.com
Visuell design Stark, modern, Apple-influerad Mörk, sofistikerad, enterprise-fokus
UX/AnvÀndbarhet Bra flows, nÄgra tillgÀnglighetsluckor Bra navigering, komplex information
SEO UtmÀrkt strukturerad data Bra men saknar vissa element
InnehÄll Omfattande, tydlig CTA Stark copy, tydligt vÀrdeerbjudande
Tekniskt Stora filer, inline allt Mörkt tema, viss inkonsekvens

🔮 KRITISKA PROBLEM

quixzoom.com

  1. Inga <label>-element för formulÀr
    Waitlist-formulÀren (rader 779, 1348) har <input type="email"> utan associerade <label>-element. Endast placeholder anvÀnds. Detta bryter mot WCAG 2.1 AA (krav 3.3.2) och pÄverkar skÀrmlÀsaranvÀndare.

  2. Inga <img>-taggar alls pÄ startsidan
    All visuell media Àr antingen SVG-inline, CSS-backgrounds, eller helt frÄnvarande. Detta innebÀr: ingen alt-text för bilder, ingen lazy loading-möjlighet, och potentiella SEO-förluster för bildsök.

  3. Ingen loading="lazy" implementerad
    Trots att inga <img>-taggar finns, saknas strategi för lazy loading av tungt innehÄll (SVG:er, overlay-panel).

  4. Stor filstorlek: 224 KB HTML
    index.html Àr 224 KB (2016 rader) med all CSS och JS inline. Ingen cachebar extern CSS/JS. Detta pÄverkar TTFB och Äterbesökares prestanda.

  5. Ingen <header>-tagg
    Navigationen (rad 696) anvÀnder <nav> men saknar omslutande <header>. Semantisk HTML Àr ofullstÀndig.

  6. 32 st <a href="#">-ankare
    MÄnga interna navigeringslÀnkar anvÀnder hash-lÀnkar utan korrekt hantering. Risk för scroll-problem och tillgÀnglighetsproblem.

  7. Ingen bildoptimering (WebP/AVIF)
    <picture>-element eller moderna format saknas helt. OG-bilder Àr JPEG (~88 KB).

  8. Ingen robots.txt för landvex.com?
    Landvex robots.txt returnerar HTML (160 bytes) — kan vara felkonfigurerad. Quixzoom robots.txt Ă€r korrekt.

  9. Landvex sitemap.xml returnerar 403
    curl -sI https://www.landvex.com/sitemap.xml ger HTTP 403. Detta blockerar sökmotorer frÄn att hitta sidor.

  10. Ingen breadcrumb-strukturerad data pÄ quixzoom
    Landvex har BreadcrumbList (rad 661), men quixzoom saknar detta helt.

landvex.com

  1. Ingen <main>-tagg
    Startsidan anvÀnder <section>-element men saknar <main> som primÀrt innehÄllsomrÄde. PÄverkar skÀrmlÀsares navigering.

  2. Ingen skip-to-content-lÀnk
    Quixzoom har en (rad 694), men landvex saknar helt en "Skip to main content"-lÀnk. Allvarligt tillgÀnglighetsproblem.

  3. MÄnga sidor saknar unika titlar
    Alla verticals-sidor har identisk struktur: <title>LandveX — [Vertical] </title> — trailing space och inkonsekvent varumĂ€rkesstavning (LandveX vs Landvex).

  4. Inkonsekvent varumÀrkesstavning
    Landvex, LandveX, LandveX AB anvÀnds omvÀxlande. I JSON-LD: "name": "Landvex", men i footern: "LandveX AB". I titlar: LandveX.

  5. Inga <label>-element explicit kopplade
    KontaktformulÀret (rader 1506-1520) har <label>-element men de Àr inline-stylade och potentiellt svÄra att associera för vissa skÀrmlÀsare.

  6. Ingen <header>-tagg
    Samma problem som quixzoom — navigationen saknar semantisk <header>-omsling.

  7. Saknad sitemap.xml (403)
    Kritiskt SEO-problem. Sökmotorer kan inte upptÀcka alla under sidor.


🟡 REKOMMENDATIONER

Visuell Design

# Problem Plats Rekommendation
1 Quixzoom: Hero-telefonen Ă€r ren CSS/SVG #hero ÖvervĂ€g att anvĂ€nda en riktig bild eller optimerad SVG för bĂ€ttre LCP
2 Landvex: Mörkt tema kan vara för kontrastsvagt --text-dim: #888 pÄ --bg-dark: #0a0a0a Testa kontrastförhÄllandet; #888 pÄ #0a0a0a ger ~5.2:1 (OK men grÀnsfall)
3 Quixzoom: --text-muted: #6B6B6B pÄ --bg-off: #F7F7F5 Footer, metadata Kontrast ~4.5:1, grÀnsfall för WCAG AA
4 Landvex: Inline-stilar överallt Rader 740-1540 Flytta till CSS-klasser för bÀttre underhÄll och caching
5 Quixzoom: font-family med 'Inter' men ingen @font-face Rad 118 Inter laddas aldrig om inte installerat lokalt; anvÀnd Google Fonts eller self-host
6 BĂ„da: Ingen systematisk typografisk skala — Definiera tydligare typografisk skala med fler steg (display, h1-h6, body, caption)
7 Quixzoom: --radius-full: 100px anvÀnds inkonsekvent Knappar, badges Vissa element anvÀnder 100px, andra 24px; standardisera

UX / AnvÀndbarhet

# Problem Plats Rekommendation
1 Quixzoom: Overlay-panel (drill-down) saknar fokusfÀlla #overlay-panel LÀgg till focus-trap sÄ tabbning stannar i panelen nÀr den Àr öppen
2 Quixzoom: role="button" pÄ <article>-element .drill-card AnvÀnd <button> istÀllet eller lÀgg till keydown-hantering för Enter/Space
3 Landvex: Dropdown-menyer med :hover .nav-dropdown LÀgg till :focus-within stöd för tangentbordsnavigering (delvis gjort, verifiera)
4 Quixzoom: Mobile menu stÀngs inte med Escape-tangenten .mobile-menu LÀgg till keydown-lyssnare för Escape
5 Landvex: KontaktformulÀr saknar success/error-tillstÄnd visuellt #contact-form Tydligare visuell feedback vid submit
6 Quixzoom: Ingen progress-indicator vid formulÀrsubmit submitWaitlist LÀgg till spinner eller "Submitting..."-tillstÄnd
7 BĂ„da: Ingen cookie-consent-banner — GDPR krĂ€ver samtycke för cookies (om ni anvĂ€nder nĂ„gra)
8 Quixzoom: Ingen 404-sida konfigurerad — Skapa en anpassad 404-sida
9 Landvex: Footer-lÀnkar Àr extremt mÄnga och oorganiserade .footer-links Gruppera i kolumner som quixzoom gör

SEO

# Problem Plats Rekommendation
1 Quixzoom: Dubbla <meta name="keywords"> Rad 24-25 Sammanfoga eller ta bort (Google ignorerar keywords)
2 Quixzoom: og:image pekar pĂ„ /images/hero-zoomer-city.jpg men filen finns i /images/hero-zoomer-city.jpg — Verifiera att filen faktiskt finns pĂ„ servern
3 Landvex: og:image Ă€r /og-image.jpg — verifiera existens — Kontrollera att OG-bilden finns
4 Quixzoom: Ingen WebPage schema-typ — LĂ€gg till @type: "WebPage" för startsidan
5 Landvex: BreadcrumbList endast pĂ„ index — LĂ€gg till pĂ„ alla sidor
6 Quixzoom: Ingen Article eller BlogPosting schema — Om ni har blogg/innehĂ„ll, lĂ€gg till
7 BĂ„da: Ingen Person schema för grundare/team — LĂ€gg till för E-E-A-T-signaler
8 Quixzoom: alternateName innehÄller 15+ varianter JSON-LD Minska till 3-5 mest relevanta; för mÄnga kan ses som keyword stuffing
9 Landvex: disambiguatingDescription Ă€r mycket lĂ„ng — Kortfatta; Google trunkerar lĂ„nga beskrivningar
10 Quixzoom: speakable schema pekar pÄ .hero-tagline som inte finns Rad 52 Klassen .hero-tagline saknas i HTML; rÀtta selektorn

Prestanda

# Problem Plats Rekommendation
1 Quixzoom: 224 KB inline HTML index.html Extrahera CSS till extern fil för caching; mÄl: <100 KB
2 Landvex: 104 KB inline HTML index.html Extrahera CSS; mindre kritisk men fortfarande bra
3 Quixzoom: 41 SVG:er inline — ÖvervĂ€g SVG-sprite eller externalisera Ă„teranvĂ€ndbara
4 Landvex: 69 SVG:er inline — Samma som ovan
5 BĂ„da: Ingen preconnect för externa resurser — Quixzoom har en (api.quixzoom.com); landvex saknar helt
6 Quixzoom: Ingen dns-prefetch eller preconnect för fonts — Om ni börjar anvĂ€nda Google Fonts, lĂ€gg till preconnect
7 BĂ„da: Ingen Service Worker — ÖvervĂ€g PWA-kapacitet för offline/Ă„terbesök
8 Quixzoom: locale-data.js laddas synkront Rad 690 LĂ€gg till defer eller flytta till </body>

InnehÄll / Copy

# Problem Plats Rekommendation
1 Quixzoom: "1 Credit = €1" nĂ€mns pĂ„ flera stĂ€llen men Ă€r inte juridiskt bindande Footer, hero LĂ€gg till asterisk eller förklaring om att vĂ€xelkursen kan variera
2 Landvex: "Bloomberg for the physical world" — potentiellt varumĂ€rkesintrĂ„ng Rad 742 ÖvervĂ€g att formulera om för att undvika juridiska problem
3 Quixzoom: "Launching August 2026" — datum passerar snart Hela sidan Uppdatera copy nĂ€r produkten Ă€r live
4 Landvex: "Live intelligence from August 2026" — framtidsdatum Rad 1109 Samma som ovan; uppdatera vid launch
5 Quixzoom: "1240" reviews i aggregateRating JSON-LD Om detta Àr uppdiktat, ta bort eller markera som "beta-testdata" för att undvika missvisande
6 Landvex: "20+ countries at launch" — verifierbart? Hero-stats Se till att pĂ„stĂ„enden kan backas upp

Tekniskt / SĂ€kerhet

# Problem Plats Rekommendation
1 Quixzoom: CSP tillÄter 'unsafe-inline' för scripts HTTP-header Inline scripts bryter mot CSP; flytta till externa filer eller anvÀnd nonce
2 Quixzoom: script-src 'self' 'unsafe-inline' CSP-header FörsvÄrar XSS-skydd; ÄtgÀrda
3 Landvex: Inga sÀkerhetsheaders synliga HTTP-response LÀgg till X-Frame-Options, X-XSS-Protection, HSTS, CSP
4 Quixzoom: fetch() till API utan error-hantering för nÀtverk submitWaitlist LÀgg till catch för nÀtverksfel
5 Landvex: KontaktformulÀr skickar till api.quixzoom.com Rad 1604 Korrekt, men lÀgg till rate-limiting och spam-skydd
6 BĂ„da: Ingen CSRF-token i formulĂ€r — LĂ€gg till CSRF-skydd om formulĂ€ren hanteras server-side
7 Quixzoom: kyc-verify.html Ă€r nĂ€stan tom — Antingen bygg ut eller ta bort frĂ„n indexering

🟱 BRA SAKER

quixzoom.com

✅ UtmĂ€rkt strukturerad data — 5+ JSON-LD-block: Organization, WebSite, SoftwareApplication, FAQPage, Product, ImageObject, Speakable
✅ Skip-to-content-lĂ€nk — Bra tillgĂ€nglighet (rad 694)
✅ Semantisk HTML — AnvĂ€nder <main>, <section>, <article>, <footer>, <nav>
✅ ARIA-attribut — aria-label, aria-haspopup, role="listbox", role="option", role="dialog", aria-modal="true"
✅ Responsiv design — Bra media queries (768px, 960px, 600px, 480px)
✅ Modern CSS — CSS custom properties, clamp() för typografi, grid och flexbox
✅ Favicon-komplett — SVG, PNG 16/32/192/512, ICO, Apple touch icon, manifest
✅ hreflang — x-default, en, sv, nl, th, ng, ke
✅ Canonical URL — Korrekt implementerad
✅ OG-tags kompletta — title, description, url, image, image:width, image:height, image:alt
✅ Twitter Cards — summary_large_image
✅ SĂ€kerhetsheaders — X-Frame-Options, XSS-Protection, Referrer-Policy, CSP, HSTS
✅ Robots.txt korrekt — Allow all, disallow /markets/ke/ och /markets/ng/
✅ Sitemap.xml tillgĂ€nglig — Korrekt format
✅ Drill-down overlay — Bra UX-mönster för detaljerad information utan sidladdning
✅ Glossary tooltip engine — Bra för anvĂ€ndarutbildning
✅ Scroll fade-in observer — Modern Intersection Observer-anvĂ€ndning
✅ Brand disambiguation — Tydlig signal till Google om att inte förvĂ€xla med Zoom
✅ Trust badges — GDPR, EU data residency, Stripe payouts

landvex.com

✅ Mörkt tema vĂ€lutfört — Konsekvent fĂ€rgpalett, bra hierarki
✅ Dropdown-navigation — VĂ€lstrukturerad med ikoner och etiketter
✅ Bra copy — "We start with your decision. Not with our data." — starkt vĂ€rdeerbjudande
✅ Strukturerad data — Organization, BreadcrumbList, FAQPage, SoftwareApplication
✅ Disambiguation-sektion — Tydlig för Google Knowledge Graph (rad 1646)
✅ hreflang — 7 sprĂ„k/regioner
✅ Favicon-komplett — SVG, ICO, Apple touch icon, manifest
✅ Canonical URL — Korrekt
✅ OG-tags — Kompletta
✅ Twitter Cards — summary_large_image
✅ KontaktformulĂ€r med feedback — Success/error-meddelanden
✅ Smooth scroll — Bra UX för ankare
✅ Responsiv — Media queries för 900px, 640px, 480px
✅ SVG-ikoner — Skalbara, inline för snabb rendering
✅ Trust-signal — Org.nr, adress, juridisk struktur tydlig
✅ Robots.txt — Korrekt, Ă€ven bot-specifik (Googlebot, Bingbot, etc.)


📋 PRIORITERAD ÅTGÄRDSLista

Omedelbart (Vecka 1)

# ÅtgĂ€rd Plats Effekt
1 LÀgg till <label>-element för alla formulÀrinput BÄda sidor WCAG AA-efterlevnad, skÀrmlÀsare
2 Fixa landvex sitemap.xml (403) /var/www/landvex/sitemap.xml SEO-kritiskt
3 LÀgg till skip-to-content pÄ landvex index.html TillgÀnglighet
4 LÀgg till <main>-tagg pÄ landvex index.html Semantisk HTML
5 Standardisera varumÀrkesstavning Landvex: Landvex (inte LandveX) VarumÀrkeskonsistens
6 LÀgg till <header>-taggar BÄda sidor Semantisk HTML
7 Fixa robots.txt för landvex Returnerar HTML istÀllet för text SEO

Kortsiktigt (Vecka 2-3)

# ÅtgĂ€rd Plats Effekt
8 Extrahera CSS till externa filer BÄda sidor Caching, prestanda
9 LĂ€gg till loading="lazy" Bilder, tunga sektioner LCP, prestanda
10 LĂ€gg till preconnect/dns-prefetch Externa resurser TTFB
11 LÀgg till focus-trap i overlay-panel Quixzoom drill-down TillgÀnglighet
12 LÀgg till Escape-tangent-stöd Mobile menu, overlays TillgÀnglighet
13 LĂ€gg till breadcrumb JSON-LD Quixzoom alla sidor SEO
14 Korrigera speakable selektor Quixzoom JSON-LD SEO
15 LĂ€gg till WebPage schema Quixzoom SEO

MedellÄng sikt (MÄnad 1-2)

# ÅtgĂ€rd Plats Effekt
16 Implementera WebP/AVIF-bilder BÄda sidor LCP, bandbredd
17 LÀgg till Service Worker BÄda sidor PWA, offline
18 FörbÀttra CSP Ta bort 'unsafe-inline' SÀkerhet
19 LÀgg till sÀkerhetsheaders pÄ landvex HSTS, CSP, etc. SÀkerhet
20 LÀgg till cookie-consent BÄda sidor GDPR
21 Skapa 404-sida Quixzoom UX
22 Optimera SVG:er Sprite eller externalisera HTML-storlek
23 LÀgg till rate-limiting pÄ formulÀr BÄda sidor Spam-skydd
24 Uppdatera "August 2026"-copy NÀr produkten Àr live Aktualitet
25 LĂ€gg till progress-indicator Quixzoom waitlist UX

📈 Prestandauppskattning

MÀtvÀrde quixzoom.com (nu) quixzoom.com (efter opt) landvex.com (nu) landvex.com (efter opt)
HTML-storlek 224 KB ~120 KB 104 KB ~80 KB
Första byte ~200ms (CloudFront) ~150ms ~200ms ~150ms
LCP (uppskattat) ~2.5s ~1.8s ~2.0s ~1.5s
CLS (uppskattat) ~0.05 ~0.02 ~0.03 ~0.01
TillgÀnglighet ~85% ~98% ~80% ~98%
SEO ~90% ~98% ~85% ~98%

🏆 Dom: quixzoom.com vs landvex.com

Kategori Vinnare Motivering
Visuell design quixzoom.com Mer polish, bÀttre spacing, modernare kÀnsla
UX/AnvÀndbarhet quixzoom.com BÀttre drill-down, tydligare flows
SEO quixzoom.com Mer omfattande strukturerad data
InnehÄll landvex.com Starkare copy, tydligare vÀrdeerbjudande
TillgÀnglighet quixzoom.com Skip-link, bÀttre ARIA
Prestanda landvex.com Mindre HTML, fÀrre inline-resurser
SĂ€kerhet quixzoom.com CSP, HSTS, m.fl. headers
VarumÀrkeskonsistens quixzoom.com Enhetlig stavning och ton

Totalt: quixzoom.com leder med 5-2-1 (landvex vinner prestanda, oavgjort i en kategori).


Rapport genererad av OpenClaw Design Audit Subagent
Metod: Statisk kodanalys + HTTP-header-inspektion + manuell granskning