Refine auth, player, tracks, playlists, search, workflows, edge cases, forms, responsive, network errors, error boundary, performance, visual regression, cross-browser, profile, smoke, storybook, chat, and session tests. Add audit test suite (accessibility, ethical, functional, design tokens). Update test helpers and visual snapshots. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6761 lines
No EOL
437 KiB
HTML
6761 lines
No EOL
437 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="fr" data-theme="dark">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Audit Veza — Rapport Complet</title>
|
||
<style>
|
||
:root { --bg: #0c0c0f; --bg-card: #1a1a1f; --bg-hover: #2a2a31; --text: #f0ede8; --text-secondary: #a8a4a0; --text-muted: #706c68; --accent: #7c9dd6; --success: #7a9e6c; --error: #d4634a; --warning: #c9a84c; --border: rgba(255,255,255,0.1); --radius: 12px; --font-body: 'Inter', sans-serif; --font-heading: 'Space Grotesk', sans-serif; --font-mono: 'JetBrains Mono', monospace; }
|
||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
body { background: var(--bg); color: var(--text); font-family: var(--font-body); font-size: 14px; line-height: 1.6; padding: 2rem; }
|
||
h1 { font-family: var(--font-heading); font-size: 2rem; margin-bottom: 1rem; }
|
||
h2 { font-family: var(--font-heading); font-size: 1.5rem; margin: 2rem 0 1rem; border-bottom: 1px solid var(--border); padding-bottom: 0.5rem; }
|
||
h3 { font-family: var(--font-heading); font-size: 1.125rem; margin: 1.5rem 0 0.5rem; }
|
||
.container { max-width: 1200px; margin: 0 auto; }
|
||
.score-card { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 1.5rem 0; }
|
||
.score { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; flex: 1; min-width: 180px; text-align: center; }
|
||
.score .value { font-size: 2.5rem; font-weight: 700; font-family: var(--font-heading); }
|
||
.score .label { color: var(--text-secondary); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.25rem; }
|
||
.score.pass .value { color: var(--success); }
|
||
.score.fail .value { color: var(--error); }
|
||
.score.warn .value { color: var(--warning); }
|
||
.score.info .value { color: var(--accent); }
|
||
.category { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); margin: 1rem 0; overflow: hidden; }
|
||
.category-header { padding: 1rem 1.5rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
|
||
.category-header:hover { background: var(--bg-hover); }
|
||
.category-body { padding: 0 1.5rem 1.5rem; }
|
||
.test-row { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.04); font-size: 0.8125rem; }
|
||
.test-row:last-child { border-bottom: none; }
|
||
.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 9999px; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; }
|
||
.badge.pass { background: rgba(122,158,108,0.15); color: var(--success); }
|
||
.badge.fail { background: rgba(212,99,74,0.15); color: var(--error); }
|
||
.badge.skip { background: rgba(168,164,160,0.15); color: var(--text-secondary); }
|
||
.problem { background: rgba(212,99,74,0.08); border: 1px solid rgba(212,99,74,0.2); border-radius: 8px; padding: 1rem; margin: 0.5rem 0; }
|
||
.problem .fix { font-family: var(--font-mono); font-size: 0.75rem; color: var(--success); margin-top: 0.5rem; }
|
||
.copy-btn { background: var(--bg-hover); border: 1px solid var(--border); border-radius: 6px; color: var(--text-secondary); font-size: 0.6875rem; padding: 4px 10px; cursor: pointer; float: right; }
|
||
.copy-btn:hover { background: var(--accent); color: var(--bg); }
|
||
.error-detail { font-family: var(--font-mono); font-size: 0.75rem; color: var(--error); background: rgba(212,99,74,0.06); padding: 0.75rem; border-radius: 6px; margin-top: 0.5rem; white-space: pre-wrap; max-height: 300px; overflow-y: auto; }
|
||
.progress-bar { height: 8px; background: rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; margin: 0.5rem 0; }
|
||
.progress-fill { height: 100%; border-radius: 4px; transition: width 0.3s; }
|
||
details summary { cursor: pointer; color: var(--accent); font-size: 0.8125rem; }
|
||
details summary:hover { text-decoration: underline; }
|
||
.timestamp { color: var(--text-muted); font-size: 0.75rem; }
|
||
.screenshot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; margin: 1rem 0; }
|
||
.screenshot-card { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
|
||
.screenshot-card img { width: 100%; height: auto; }
|
||
.screenshot-card .caption { padding: 0.5rem; font-size: 0.75rem; color: var(--text-secondary); }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="container">
|
||
|
||
<h1>Audit Veza — Rapport Complet</h1>
|
||
<p class="timestamp">Généré le 2026-03-20 à 12:17:05</p>
|
||
|
||
<div class="score-card">
|
||
<div class="score warn">
|
||
<div class="value">70%</div>
|
||
<div class="label">Score Global</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:70%;background:var(--warning)"></div></div>
|
||
</div>
|
||
<div class="score info">
|
||
<div class="value">350</div>
|
||
<div class="label">Tests Total</div>
|
||
</div>
|
||
<div class="score pass">
|
||
<div class="value">245</div>
|
||
<div class="label">Passés</div>
|
||
</div>
|
||
<div class="score fail">
|
||
<div class="value">104</div>
|
||
<div class="label">Échoués</div>
|
||
</div>
|
||
<div class="score skip" style="display:none">
|
||
<div class="value">0</div>
|
||
<div class="label">Ignorés</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="score-card">
|
||
<div class="score pass">
|
||
<div class="value">96%</div>
|
||
<div class="label">⚙️ Fonctionnel (50)</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:96%;background:var(--success)"></div></div>
|
||
</div>
|
||
<div class="score fail">
|
||
<div class="value">55%</div>
|
||
<div class="label">🎨 Pixel-Perfect (181)</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:55%;background:var(--error)"></div></div>
|
||
</div>
|
||
<div class="score pass">
|
||
<div class="value">96%</div>
|
||
<div class="label">🖱️ Interactions (27)</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:96%;background:var(--success)"></div></div>
|
||
</div>
|
||
<div class="score fail">
|
||
<div class="value">9%</div>
|
||
<div class="label">♿ Accessibilité (22)</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:9%;background:var(--error)"></div></div>
|
||
</div>
|
||
<div class="score pass">
|
||
<div class="value">100%</div>
|
||
<div class="label">🛡️ Éthique (6)</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:100%;background:var(--success)"></div></div>
|
||
</div>
|
||
<div class="score pass">
|
||
<div class="value">100%</div>
|
||
<div class="label">📸 Screenshots (64)</div>
|
||
<div class="progress-bar"><div class="progress-fill" style="width:100%;background:var(--success)"></div></div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<h2>⚙️ Fonctionnel — 96%</h2>
|
||
|
||
|
||
<h3>Échecs (2)</h3>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Login avec identifiants invalides — affiche erreur</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: [2mexpect([22m[31mreceived[39m[2m).[22mtoMatch[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected pattern: [32m/error|erreur|invalid|incorrect|identifiants/i[39m
|
||
Received string: [31m"[39m
|
||
[31m Skip to contentVvezaWelcome BackSign in to your accountEmailPasswordRemember meForgot password?Sign InDon't have an account? Sign up·····[39m
|
||
[31m"[39m</div>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Support (/support) — se charge sans crash</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: [2mexpect([22m[31mreceived[39m[2m).[22mnot[2m.[22mtoMatch[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected pattern: not [32m/500|Internal Server Error|unexpected error/i[39m
|
||
Received string: [31m"[39m
|
||
[31m Skip to contentVvezaConnectedHomeDashboardDiscoverFeedLibraryMy TracksPlaylistsFavoritesConnectLive3Chat12CommunityMoreMarketplaceAnalyticsSellPurchasesMmusic_loverConnectedSettingsLogoutKOnlineMUmusic_loverScheduled MaintenanceBrief maintenance window planned for Sunday 3am-5am CET. Streams may be briefly interrupted.Marketplace Now OpenBuy and sell beats, samples, and presets directly on the platform. Fair pricing, transparent licensing.Welcome to Veza!We're thrilled to launch Veza — an ethical music platform built for artists and listeners. Explore, create, and connect.VvezaConnectedHomeDashboardDiscoverFeedLibraryMy TracksPlaylistsFavoritesConnectLive3Chat12CommunityMoreMarketplaceAnalyticsSellPurchasesMmusic_loverConnectedSettingsLogoutKOnlineMUmusic_loverScheduled MaintenanceBrief maintenance window planned for Sunday 3am-5am CET. Streams may be briefly interrupted.Marketplace Now OpenBuy and sell beats, samples, and presets directly on the platform. Fair pricing, transparent licensing.Welcome to Veza!We're thrilled to launch Veza — an ethical music platform built for artists and listeners. Explore, create, and connect.SupportNeed help? Send us a message and we'll get back to you within 48 hours.Email addressWe'll respond to this addressCatego</div>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<details>
|
||
<summary>Tests passés (48)</summary>
|
||
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login avec compte listener — redirige vers /dashboard</span>
|
||
<span class="timestamp">4768ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login avec compte creator — redirige vers /dashboard</span>
|
||
<span class="timestamp">4297ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login avec compte admin — redirige vers /dashboard</span>
|
||
<span class="timestamp">4386ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Page register se charge sans erreur</span>
|
||
<span class="timestamp">4372ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Logout — redirige vers /login</span>
|
||
<span class="timestamp">5622ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Routes protégées redirigent vers /login si non-authentifié</span>
|
||
<span class="timestamp">17049ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Forgot password page se charge</span>
|
||
<span class="timestamp">4581ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard (/dashboard) — se charge sans crash</span>
|
||
<span class="timestamp">12166ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Feed (/feed) — se charge sans crash</span>
|
||
<span class="timestamp">10290ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Discover (/discover) — se charge sans crash</span>
|
||
<span class="timestamp">9293ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Library (/library) — se charge sans crash</span>
|
||
<span class="timestamp">9784ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Queue (/queue) — se charge sans crash</span>
|
||
<span class="timestamp">9505ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Search (/search) — se charge sans crash</span>
|
||
<span class="timestamp">9754ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Profile (/profile) — se charge sans crash</span>
|
||
<span class="timestamp">10077ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings (/settings) — se charge sans crash</span>
|
||
<span class="timestamp">9906ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Sessions (/settings/sessions) — se charge sans crash</span>
|
||
<span class="timestamp">21948ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Notifications (/notifications) — se charge sans crash</span>
|
||
<span class="timestamp">9300ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Playlists (/playlists) — se charge sans crash</span>
|
||
<span class="timestamp">9572ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Social (/social) — se charge sans crash</span>
|
||
<span class="timestamp">10116ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Chat (/chat) — se charge sans crash</span>
|
||
<span class="timestamp">10006ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Marketplace (/marketplace) — se charge sans crash</span>
|
||
<span class="timestamp">9291ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Wishlist (/wishlist) — se charge sans crash</span>
|
||
<span class="timestamp">9192ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Purchases (/purchases) — se charge sans crash</span>
|
||
<span class="timestamp">9255ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Subscription (/subscription) — se charge sans crash</span>
|
||
<span class="timestamp">10354ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Live (/live) — se charge sans crash</span>
|
||
<span class="timestamp">10065ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Cloud (/cloud) — se charge sans crash</span>
|
||
<span class="timestamp">10050ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Education (/education) — se charge sans crash</span>
|
||
<span class="timestamp">9466ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Analytics (/analytics) — se charge sans crash</span>
|
||
<span class="timestamp">8612ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Seller Dashboard (/sell) — se charge sans crash</span>
|
||
<span class="timestamp">9340ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Distribution (/distribution) — se charge sans crash</span>
|
||
<span class="timestamp">7312ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Gear (/gear) — se charge sans crash</span>
|
||
<span class="timestamp">7376ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Go Live (/live/go-live) — se charge sans crash</span>
|
||
<span class="timestamp">7330ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Developer (/developer) — se charge sans crash</span>
|
||
<span class="timestamp">8181ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Webhooks (/webhooks) — se charge sans crash</span>
|
||
<span class="timestamp">7267ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Admin Dashboard (/admin) — se charge sans crash</span>
|
||
<span class="timestamp">7730ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Moderation (/admin/moderation) — se charge sans crash</span>
|
||
<span class="timestamp">7452ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Platform (/admin/platform) — se charge sans crash</span>
|
||
<span class="timestamp">7336ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Transfers (/admin/transfers) — se charge sans crash</span>
|
||
<span class="timestamp">7328ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Roles (/admin/roles) — se charge sans crash</span>
|
||
<span class="timestamp">7418ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Marketplace — affiche des produits ou un état vide cohérent</span>
|
||
<span class="timestamp">7261ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Wishlist — accessible et affiche un état</span>
|
||
<span class="timestamp">7373ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Purchases — accessible et affiche un état</span>
|
||
<span class="timestamp">7532ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Subscription — accessible et affiche un état</span>
|
||
<span class="timestamp">7311ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>API /auth/me retourne les données du user connecté</span>
|
||
<span class="timestamp">5252ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Pages error 404 et 500 se chargent correctement</span>
|
||
<span class="timestamp">4271ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Route inexistante redirige vers 404</span>
|
||
<span class="timestamp">6046ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Le sidebar affiche les liens de navigation</span>
|
||
<span class="timestamp">7634ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>La recherche retourne des résultats cohérents</span>
|
||
<span class="timestamp">9098ms</span>
|
||
</div>
|
||
</details>
|
||
|
||
|
||
<h2>🎨 Pixel-Perfect — 55%</h2>
|
||
|
||
|
||
<h3>Échecs (82)</h3>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register (/register) — zéro chevauchement critique</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: 1 chevauchement(s) critique(s) sur /register:
|
||
• "conditions d'utilisation" (653,647 145×17) ↔ "politique de confidentialité" (561,647 350×40) overlap: 145×17px → Décaler "conditions d'utilisation" de 75px vers la gauche, ou ajouter gap/margin de 75px
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[WARNING] "" ↔ "Show password" : 16px × 16px
|
||
|
||
FIX: Décaler "#register-password" de 10px vers la gauche, ou ajouter gap/margin de 10px
|
||
|
||
[WARNING] "" ↔ "Show password" : 16px × 16px
|
||
|
||
FIX: Décaler "#register-password_confirm" de 10px vers la gauche, ou ajouter gap/margin de 10px
|
||
|
||
[CRITICAL] "conditions d'utilisation" ↔ "politique de confidentialité" : 145px × 17px
|
||
|
||
FIX: Décaler "conditions d'utilisation" de 75px vers la gauche, ou ajouter gap/margin de 75px
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[LISTENER] Discover (/discover) — zéro chevauchement critique</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: 10 chevauchement(s) critique(s) sur /discover:
|
||
• "Jazz" ↔ "" 32×24px → Décaler "Jazz" de 18px vers la droite, ou ajouter gap/margin de 18px
|
||
• "Jazz" ↔ "" 32×24px → Décaler "Jazz" de 18px vers la gauche, ou ajouter gap/margin de 18px
|
||
• "Jazz" ↔ "" 40×28px → Décaler "Jazz" de 22px vers la gauche, ou ajouter gap/margin de 22px
|
||
• "Latin" ↔ "" 32×28px → Décaler "Latin" de 18px vers la droite, ou ajouter gap/margin de 18px
|
||
• "Latin" ↔ "1x" 36×30px → Décaler "Latin" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
• "Latin" ↔ "1x" 36×30px → Décaler "Latin" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
• "Metal" ↔ "Mute" 36×34px → Décaler "Metal" de 20px vers la droite, ou ajouter gap/margin de 20px
|
||
• "Metal" ↔ "Picture-in-Picture" 36×34px → Décaler "Metal" de 20px vers la droite, ou ajouter gap/margin de 20px
|
||
• "Metal" ↔ "Show queue" 36×34px → Décaler "Metal" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
• "Metal" ↔ "Like" 36×34px → Décaler "Metal" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m10[39m</div>
|
||
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CRITICAL] "Jazz" ↔ "" : 32px × 24px
|
||
|
||
FIX: Décaler "Jazz" de 18px vers la droite, ou ajouter gap/margin de 18px
|
||
|
||
[CRITICAL] "Jazz" ↔ "" : 32px × 24px
|
||
|
||
FIX: Décaler "Jazz" de 18px vers la gauche, ou ajouter gap/margin de 18px
|
||
|
||
[CRITICAL] "Jazz" ↔ "" : 40px × 28px
|
||
|
||
FIX: Décaler "Jazz" de 22px vers la gauche, ou ajouter gap/margin de 22px
|
||
|
||
[WARNING] "Latin" ↔ "" : 17px × 28px
|
||
|
||
FIX: Décaler "Latin" de 11px vers la droite, ou ajouter gap/margin de 11px
|
||
|
||
[CRITICAL] "Latin" ↔ "" : 32px × 28px
|
||
|
||
FIX: Décaler "Latin" de 18px vers la droite, ou ajouter gap/margin de 18px
|
||
|
||
[CRITICAL] "Latin" ↔ "1x" : 36px × 30px
|
||
|
||
FIX: Décaler "Latin" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
|
||
[CRITICAL] "Latin" ↔ "1x" : 36px × 30px
|
||
|
||
FIX: Décaler "Latin" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
|
||
[CRITICAL] "Metal" ↔ "Mute" : 36px × 34px
|
||
|
||
FIX: Décaler "Metal" de 20px vers la droite, ou ajouter gap/margin de 20px
|
||
|
||
[WARNING] "Metal" ↔ "" : 56px × 4px
|
||
|
||
FIX: Décaler "Metal" de 30px vers la droite, ou ajouter gap/margin de 30px
|
||
|
||
[CRITICAL] "Metal" ↔ "Picture-in-Picture" : 36px × 34px
|
||
|
||
FIX: Décaler "Metal" de 20px vers la droite, ou ajouter gap/margin de 20px
|
||
|
||
[CRITICAL] "Metal" ↔ "Show queue" : 36px × 34px
|
||
|
||
FIX: Décaler "Metal" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
|
||
[CRITICAL] "Metal" ↔ "Like" : 36px × 34px
|
||
|
||
FIX: Décaler "Metal" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
|
||
[WARNING] "" ↔ "Picture-in-Picture" : 36px × 4px
|
||
|
||
FIX: Décaler "input.absolute" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[LISTENER] Chat (/chat) — zéro chevauchement critique</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: 1 chevauchement(s) critique(s) sur /chat:
|
||
• "Type a message" ↔ "Voice message" 32×32px → Décaler "Type a message" de 18px vers la gauche, ou ajouter gap/margin de 18px
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CRITICAL] "Type a message" ↔ "Voice message" : 32px × 32px
|
||
|
||
FIX: Décaler "Type a message" de 18px vers la gauche, ou ajouter gap/margin de 18px
|
||
|
||
[WARNING] "" ↔ "Picture-in-Picture" : 36px × 4px
|
||
|
||
FIX: Décaler "input.absolute" de 20px vers la gauche, ou ajouter gap/margin de 20px
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[LISTENER] Support (/support) — zéro chevauchement critique</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: 33 chevauchement(s) critique(s) sur /support:
|
||
• "Collapse sidebar" ↔ "Collapse sidebar" 40×40px → Décaler "Collapse sidebar" de 22px vers la droite, ou ajouter gap/margin de 22px
|
||
• "Dashboard" ↔ "Dashboard" 215×36px → Décaler "Dashboard" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Discover" ↔ "Discover" 215×36px → Décaler "Discover" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Feed" ↔ "Feed" 215×36px → Décaler "Feed" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "My Tracks" ↔ "My Tracks" 215×36px → Décaler "My Tracks" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Playlists" ↔ "Playlists" 215×36px → Décaler "Playlists" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Favorites" ↔ "Favorites" 215×36px → Décaler "Favorites" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Live3" ↔ "Live3" 215×36px → Décaler "Live3" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Chat12" ↔ "Chat12" 215×36px → Décaler "Chat12" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Community" ↔ "Community" 215×36px → Décaler "Community" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Marketplace" ↔ "Marketplace" 215×36px → Décaler "Marketplace" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Analytics" ↔ "Analytics" 215×36px → Décaler "Analytics" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
• "Sell" ↔ "Sell" 215×36px → Décaler "Sell" de 110px vers la droite, ou ajouter ga</div>
|
||
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CRITICAL] "Collapse sidebar" ↔ "Collapse sidebar" : 40px × 40px
|
||
|
||
FIX: Décaler "Collapse sidebar" de 22px vers la droite, ou ajouter gap/margin de 22px
|
||
|
||
[CRITICAL] "Dashboard" ↔ "Dashboard" : 215px × 36px
|
||
|
||
FIX: Décaler "Dashboard" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Discover" ↔ "Discover" : 215px × 36px
|
||
|
||
FIX: Décaler "Discover" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Feed" ↔ "Feed" : 215px × 36px
|
||
|
||
FIX: Décaler "Feed" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "My Tracks" ↔ "My Tracks" : 215px × 36px
|
||
|
||
FIX: Décaler "My Tracks" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Playlists" ↔ "Playlists" : 215px × 36px
|
||
|
||
FIX: Décaler "Playlists" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Favorites" ↔ "Favorites" : 215px × 36px
|
||
|
||
FIX: Décaler "Favorites" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Live3" ↔ "Live3" : 215px × 36px
|
||
|
||
FIX: Décaler "Live3" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Chat12" ↔ "Chat12" : 215px × 36px
|
||
|
||
FIX: Décaler "Chat12" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Community" ↔ "Community" : 215px × 36px
|
||
|
||
FIX: Décaler "Community" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Marketplace" ↔ "Marketplace" : 215px × 36px
|
||
|
||
FIX: Décaler "Marketplace" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Analytics" ↔ "Analytics" : 215px × 36px
|
||
|
||
FIX: Décaler "Analytics" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Sell" ↔ "Sell" : 215px × 36px
|
||
|
||
FIX: Décaler "Sell" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Purchases" ↔ "Purchases" : 215px × 36px
|
||
|
||
FIX: Décaler "Purchases" de 110px vers la droite, ou ajouter gap/margin de 110px
|
||
|
||
[CRITICAL] "Settings" ↔ "Settings" : 223px × 36px
|
||
|
||
FIX: Décaler "Settings" de 114px vers la droite, ou ajouter gap/margin de 114px
|
||
|
||
[CRITICAL] "Logout" ↔ "Logout" : 223px × 40px
|
||
|
||
FIX: Décaler "Logout" de 114px vers la droite, ou ajouter gap/margin de 114px
|
||
|
||
[CRITICAL] "Search tracks, artists, playlists" ↔ "Search tracks, artists, playlists" : 512px × 40px
|
||
|
||
FIX: Décaler "Search tracks, artists, playlists" de 258px vers la droite, ou ajouter gap/margin de 258px
|
||
|
||
[CRITICAL] "Notifications" ↔ "Notifications" : 40px × 40px
|
||
|
||
FIX: Décaler "Notifications" de 22px vers la droite, ou ajouter gap/margin de 22px
|
||
|
||
[CRITICAL] "" ↔ "" : 40px × 40px
|
||
|
||
FIX: Décaler "button.inline-flex" de 22px vers la droite, ou ajouter gap/margin de 22px
|
||
|
||
[CRITICAL] "MUmusic_lover" ↔ "MUmusic_lover" : 131px × 36px
|
||
|
||
FIX: Décaler "MUmusic_lover" de 68px vers la droite, ou ajouter gap/margin de 68px
|
||
|
||
[CRITICAL] "" ↔ "" : 32px × 32px
|
||
|
||
FIX: Décaler "button.flex" de 18px vers la droite, ou ajouter gap/margin de 18px
|
||
|
||
[CRITICAL] "" ↔ "" : 32px × 32px
|
||
|
||
FIX: Décaler "[data-testid="prev-button"]" de 18px vers la droite, ou</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Register (/register) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "S'inscrire"\\nFIX: \\n\\nPROBLÈME: "conditions d'utilisation"\\nFIX: \\n\\nPROBLÈME: "politique de confidentialité"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 5/7 bouton(s) sans hover visible sur /register:
|
||
"" (button.absolute): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.absolute): Cursor "default" au lieu de "pointer" au hover
|
||
"S'inscrire" ([data-testid="register-submit"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"conditions d'utilisation" (a.text-foreground): AUCUN changement visuel au hover — le bouton semble inactif
|
||
"politique de confidentialité" (a.text-foreground): AUCUN changement visuel au hover — le bouton semble inactif
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBeLessThanOrEqual[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected: <= [32m3[39m
|
||
Received: [31m5[39m</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "S'inscrire"
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
After: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "conditions d'utilisation"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif
|
||
|
||
[HOVER ISSUE] "politique de confidentialité"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=pointer
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Dashboard (/dashboard) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Dashboard"\\nFIX: \\n\\nPROBLÈME: "Playlists"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 19/43 bouton(s) sans hover visible sur /dashboard:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="queue-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Dashboard" (a.w-full): AUCUN changement visuel au ho</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0 0 0 / 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.467063), color=rgb(235, 232, 227), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.496635), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(42, 42, 49, 0.984), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0 0 0 / 0), color=rgb(237, 234, 229), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.0491666), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
After: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0 0 0 / 0), </pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Discover (/discover) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Ambient"\\nFIX: \\n\\nPROBLÈME: "Blues"\\nFIX: \\n\\nPROBLÈME: "Classical"\\nFIX: \\n\\nPROBLÈME: "Drum and Bass"\\nFIX: \\n\\nPROBLÈME: "Dubstep"\\nFIX: \\n\\nPROBLÈME: "Electronic"\\nFIX: \\n\\nPROBLÈME: "Experimental"\\nFIX: \\n\\nPROBLÈME: "Folk"\\nFIX: \\n\\nPROBLÈME: "Funk"\\nFIX: \\n\\nPROBLÈME: "Hip-Hop"\\nFIX: \\n\\nPROBLÈME: "House"\\nFIX: \\n\\nPROBLÈME: "Indie"\\nFIX: \\n\\nPROBLÈME: "Jazz"\\nFIX: \\n\\nPROBLÈME: "Latin"\\nFIX: \\n\\nPROBLÈME: "Metal"\\nFIX: \\n\\nPROBLÈME: "Other"\\nFIX: \\n\\nPROBLÈME: "Pop"\\nFIX: \\n\\nPROBLÈME: "Reggae"\\nFIX: \\n\\nPROBLÈME: "Rock"\\nFIX: \\n\\nPROBLÈME: "Soul"\\nFIX: \\n\\nPROBLÈME: "Techno"\\nFIX: \\n\\nPROBLÈME: "Trance"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 30/56 bouton(s) sans hover visible sur /discover:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"Ambient" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Blues" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Classical" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Drum and Bass" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Dubstep" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Electronic" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Experimental" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Folk" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Funk" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Hip-Hop" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"House" (button.relative): Cursor "default" au lieu de "pointer" au hover
|
||
"Indie"</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.0839311), color=rgb(205, 109, 88), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(42, 42, 49, 0.8), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Ambient"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Blues"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Classical"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Drum and Bass"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Dubstep"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Library (/library) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "New"\\nFIX: \\n\\nPROBLÈME: "Upload Track"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "My Tracks"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 22/37 bouton(s) sans hover visible sur /library:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.h-8): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.h-8): Cursor "default" au lieu de "pointer" au hover
|
||
"New" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"Upload Track" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (but</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.0892901), color=rgb(207, 106, 83), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.446543), color=rgb(232, 229, 224), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.486037), color=rgb(238, 235, 230), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgb(18, 18, 21), color=rgb(77, 119, 203), cursor=default
|
||
|
||
After: bg=rgb(18, 18, 21), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "New"
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.900373), color=rgb(18, 18, 21), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Upload Track"
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.910688), color=rgb(18, 18, 21), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rg</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Settings (/settings) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Retry"\\nFIX: \\n\\nPROBLÈME: "Show Details"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 19/35 bouton(s) sans hover visible sur /settings:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"Retry" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"Show Details" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="queue-button"]): Cursor "defau</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Retry"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(212, 99, 74), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Show Details"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(212, 99, 74), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
After: bg=rgb(77, 119, 203)</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Playlists (/playlists) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "CréerNouvelle"\\nFIX: \\n\\nPROBLÈME: "Importer"\\nFIX: \\n\\nPROBLÈME: "Sélectionner"\\nFIX: \\n\\nPROBLÈME: "Filters"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Playlists"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 22/37 bouton(s) sans hover visible sur /playlists:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"CréerNouvelle" ([data-testid="create-playlist-btn"]): Cursor "default" au lieu de "pointer" au hover
|
||
"Importer" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"Sélectionner" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"Filters" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hover — le bouton</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "CréerNouvelle"
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.9), color=rgb(18, 18, 21), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Importer"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Sélectionner"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Filters"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
Afte</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Marketplace (/marketplace) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Cart"\\nFIX: \\n\\nPROBLÈME: "Filters"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 19/35 bouton(s) sans hover visible sur /marketplace:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"Cart" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"Filters" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="queue-button"]): Cursor "default"</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.498146), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Cart"
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.9), color=rgb(18, 18, 21), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Filters"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
After: bg=rgb(77, 119</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Feed (/feed) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Try Again"\\nFIX: \\n\\nPROBLÈME: "Refresh Page"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Feed"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 20/35 bouton(s) sans hover visible sur /feed:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"Try Again" (button.whitespace-nowrap): Cursor "default" au lieu de "pointer" au hover
|
||
"Refresh Page" (button.whitespace-nowrap): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="queue-button"]): C</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Try Again"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Refresh Page"
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(18, 18, 21), cursor=default
|
||
|
||
After: bg=oklab(0.580239 -0.0172603 -0.136851 / 0.9), color=rgb(18, 18, 21), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
After: bg=rgb(77</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Profile (/profile) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Dashboard"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 18/43 bouton(s) sans hover visible sur /profile:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="queue-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Dashboard" (a.w-full): AUCUN changement visuel au hove</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.0460319), color=rgb(90, 129, 206), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
After: bg=rgb(77, 119, 203), color=rgb(0, 0, 0), cursor=default
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.999994 0.0000455678 0.0000200868 / 0.05), color=rgb(77, 119, 203), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=defa</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Notifications (/notifications) — tous les boutons changent visuellement au hover</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Logout"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "MUmusic_lover"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "All"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "All Types"\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: ""\\nFIX: \\n\\nPROBLÈME: "Dashboard"\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 22/37 bouton(s) sans hover visible sur /notifications:
|
||
"" (button.items-center): Cursor "default" au lieu de "pointer" au hover
|
||
"Logout" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"MUmusic_lover" ([data-testid="user-menu"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"All" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"All Types" (button.inline-flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.shrink-0): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="prev-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="play-button"]): AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
"" ([data-testid="next-button"]): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.flex): Cursor "default" au lieu de "pointer" au hover
|
||
"" (button.inline-flex): AUCUN changement visuel au hov</div>
|
||
<div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div><div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=rgba(77, 119, 203, 0.12), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "Logout"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.632568 0.123173 0.0826692 / 0.1), color=rgb(212, 99, 74), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "MUmusic_lover"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgb(42, 42, 49), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "All"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: AUCUN changement visuel au hover — le bouton semble inactif, Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] "All Types"
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=oklab(0.287888 0.00341661 -0.012204 / 0.5), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
After: bg=rgba(0, 0, 0, 0), color=rgb(240, 237, 232), cursor=default
|
||
|
||
Issues: Cursor "default" au lieu de "pointer" au hover
|
||
|
||
[HOVER ISSUE] ""
|
||
|
||
Before: bg=rgba(0, 0, 0, 0), color=rgb(168, 164, 160), cursor=default
|
||
|
||
After: bg=oklab(0</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard — hiérarchie des titres logique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard: Saut de heading: h1 "Good afternoon, music_lover" → h3 "Tracks Listened" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Hiérarchie de titres cassée sur /dashboard:
|
||
Saut de heading: h1 "Good afternoon, music_lover" → h3 "Tracks Listened" (manque h2)
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /dashboard: Saut de heading: h1 "Good afternoon, music_lover" → h3 "Tracks Listened" (manque h2)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library — hiérarchie des titres logique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library: Saut de heading: h1 "Library" → h3 "Your library is empty" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Hiérarchie de titres cassée sur /library:
|
||
Saut de heading: h1 "Library" → h3 "Your library is empty" (manque h2)
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /library: Saut de heading: h1 "Library" → h3 "Your library is empty" (manque h2)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Queue — hiérarchie des titres logique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /queue: Saut de heading: h1 "PLAY QUEUE" → h3 "Up Next" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Hiérarchie de titres cassée sur /queue:
|
||
Saut de heading: h1 "PLAY QUEUE" → h3 "Up Next" (manque h2)
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /queue: Saut de heading: h1 "PLAY QUEUE" → h3 "Up Next" (manque h2)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Search — hiérarchie des titres logique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /search: Saut de heading: h1 "Explore the Nebula" → h3 "New Releases" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Hiérarchie de titres cassée sur /search:
|
||
Saut de heading: h1 "Explore the Nebula" → h3 "New Releases" (manque h2)
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /search: Saut de heading: h1 "Explore the Nebula" → h3 "New Releases" (manque h2)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile — hiérarchie des titres logique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile: Saut de heading: h1 "Good afternoon, music_lover" → h3 "Tracks Listened" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Hiérarchie de titres cassée sur /profile:
|
||
Saut de heading: h1 "Good afternoon, music_lover" → h3 "Tracks Listened" (manque h2)
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /profile: Saut de heading: h1 "Good afternoon, music_lover" → h3 "Tracks Listened" (manque h2)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Sessions — hiérarchie des titres logique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings/sessions: Saut de heading: h1 "Active Sessions" → h3 "Sessions (3610)" (manque h2)\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Hiérarchie de titres cassée sur /settings/sessions:
|
||
Saut de heading: h1 "Active Sessions" → h3 "Sessions (3610)" (manque h2)
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[HEADING] /settings/sessions: Saut de heading: h1 "Active Sessions" → h3 "Sessions (3610)" (manque h2)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login — contraste WCAG AA sur tout le texte</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) — 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: "Sign In": 4.29:1 (min 4.5:1) — 16px\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Sign In" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 problème(s) de contraste sur /login:
|
||
• "V" — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
• "Sign In" — ratio 4.29:1 (min 4.5:1). FG:rgb(18, 18, 21) BG:rgb(77, 119, 203). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Sign In" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Sign In" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] "V": 1:1 (min 3:1) — 24px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
|
||
|
||
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] "Sign In": 4.29:1 (min 4.5:1) — 16px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(77, 119, 203)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Sign In" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register — contraste WCAG AA sur tout le texte</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) — 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: "S'inscrire": 4.29:1 (min 4.5:1) — 16px\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "S'inscrire" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 problème(s) de contraste sur /register:
|
||
• "V" — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
• "S'inscrire" — ratio 4.29:1 (min 4.5:1). FG:rgb(18, 18, 21) BG:rgb(77, 119, 203). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "S'inscrire" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "S'inscrire" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] "V": 1:1 (min 3:1) — 24px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
|
||
|
||
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] "S'inscrire": 4.29:1 (min 4.5:1) — 16px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(77, 119, 203)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "S'inscrire" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password — contraste WCAG AA sur tout le texte</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) — 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: "Envoyer le lien de réinitialisation": 4.29:1 (min 4.5:1) — 16px\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Envoyer le lien de réinitialisation" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 problème(s) de contraste sur /forgot-password:
|
||
• "V" — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
• "Envoyer le lien de réinitialisation" — ratio 4.29:1 (min 4.5:1). FG:rgb(18, 18, 21) BG:rgb(77, 119, 203). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Envoyer le lien de réinitialisation" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Envoyer le lien de réinitialisation" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] "V": 1:1 (min 3:1) — 24px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
|
||
|
||
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] "Envoyer le lien de réinitialisation": 4.29:1 (min 4.5:1) — 16px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(77, 119, 203)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Envoyer le lien de réinitialisation" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email — contraste WCAG AA sur tout le texte</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) — 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 problème(s) de contraste sur /verify-email:
|
||
• "V" — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] "V": 1:1 (min 3:1) — 24px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
|
||
|
||
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password — contraste WCAG AA sur tout le texte</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: "V": 1:1 (min 3:1) — 24px\\nFIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 problème(s) de contraste sur /reset-password:
|
||
• "V" — ratio 1:1 (min 3:1). FG:rgb(18, 18, 21) BG:rgb(18, 18, 21). Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] "V": 1:1 (min 3:1) — 24px
|
||
|
||
FG: rgb(18, 18, 21) | BG: rgb(18, 18, 21)
|
||
|
||
FIX: Contraste 1.0:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(18, 18, 21). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library — contraste WCAG AA</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library "V": 1.08:1 (min 3:1)\\nFIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /library "MU": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /library "New": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "New" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /library "Upload Track": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Upload Track" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 problème(s) de contraste sur /library:
|
||
• "V" — 1.08:1 (min 3:1). Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
|
||
• "MU" — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
|
||
• "New" — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "New" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
• "Upload Track" — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Upload Track" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBeLessThanOrEqual[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected: <= [32m3[39m
|
||
Received: [31m4[39m</div>
|
||
<div class="fix">FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "New" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Upload Track" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] /library "V": 1.08:1 (min 3:1)
|
||
|
||
FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] /library "MU": 4.29:1 (min 4.5:1)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] /library "New": 4.29:1 (min 4.5:1)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "New" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] /library "Upload Track": 4.29:1 (min 4.5:1)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Upload Track" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists — contraste WCAG AA</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists "V": 1.08:1 (min 3:1)\\nFIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /playlists "MU": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /playlists "CréerNouvelle": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "CréerNouvelle" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.\\n\\nPROBLÈME: /playlists "Créer": 4.29:1 (min 4.5:1)\\nFIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Créer" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 problème(s) de contraste sur /playlists:
|
||
• "V" — 1.08:1 (min 3:1). Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
|
||
• "MU" — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
|
||
• "CréerNouvelle" — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "CréerNouvelle" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
• "Créer" — 4.29:1 (min 4.5:1). Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Créer" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBeLessThanOrEqual[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected: <= [32m3[39m
|
||
Received: [31m4[39m</div>
|
||
<div class="fix">FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "CréerNouvelle" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div><div class="fix">FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Créer" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[CONTRASTE] /playlists "V": 1.08:1 (min 3:1)
|
||
|
||
FIX: Contraste 1.1:1 insuffisant (min 3:1). Texte "V" en rgb(18, 18, 21) sur rgb(26, 26, 31). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] /playlists "MU": 4.29:1 (min 4.5:1)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "MU" en rgb(77, 119, 203) sur rgba(18, 18, 21, 0.8). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] /playlists "CréerNouvelle": 4.29:1 (min 4.5:1)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "CréerNouvelle" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
|
||
[CONTRASTE] /playlists "Créer": 4.29:1 (min 4.5:1)
|
||
|
||
FIX: Contraste 4.3:1 insuffisant (min 4.5:1). Texte "Créer" en rgb(18, 18, 21) sur rgb(77, 119, 203). Éclaircir le texte ou assombrir le fond.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Inputs — tous les champs ont un border radius d'au moins 6px</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: Inputs avec radius < 6px (design system minimum: 6px / rounded-md):\\nFIX: utiliser rounded-lg (12px)`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 inputs avec border-radius trop petit:
|
||
input[type="range"] "": 0px
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: utiliser rounded-lg (12px)</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[RADIUS] Inputs avec radius < 6px (design system minimum: 6px / rounded-md):
|
||
|
||
input[type="range"] "": 0px — FIX: utiliser rounded-lg (12px)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>prefers-reduced-motion: reduce — les animations sont désactivées</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: Animations toujours actives:\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Animations non désactivées avec prefers-reduced-motion:
|
||
div.absolute: Animation "pulse" toujours active avec prefers-reduced-motion: reduce
|
||
div.absolute: Animation "pulse" toujours active avec prefers-reduced-motion: reduce
|
||
div.absolute: Animation "pulse" toujours active avec prefers-reduced-motion: reduce
|
||
div.absolute: Animation "pulse" toujours active avec prefers-reduced-motion: reduce
|
||
span.w-1.5: Animation "pulse" toujours active avec prefers-reduced-motion: reduce
|
||
div.space-y-6: Animation "sumi-fade-in" toujours active avec prefers-reduced-motion: reduce
|
||
div.w-2: Animation "pulse" toujours active avec prefers-reduced-motion: reduce
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBeLessThanOrEqual[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected: <= [32m5[39m
|
||
Received: [31m7[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[REDUCED MOTION] Animations toujours actives:
|
||
|
||
div.absolute: pulse (1e-05s)
|
||
|
||
div.absolute: pulse (1e-05s)
|
||
|
||
div.absolute: pulse (1e-05s)
|
||
|
||
div.absolute: pulse (1e-05s)
|
||
|
||
span.w-1.5: pulse (1e-05s)
|
||
|
||
div.space-y-6: sumi-fade-in (1e-05s)
|
||
|
||
div.w-2: pulse (1e-05s)
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /login @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /login @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /login @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /login @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
|
||
|
||
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /login @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
|
||
|
||
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /login @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /login @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /login @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /login @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /login @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /register @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /register @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /register @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /register @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
|
||
|
||
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /register @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
|
||
|
||
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /register @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /register @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /register @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /register @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /register @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /forgot-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /forgot-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /forgot-password @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /forgot-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
|
||
|
||
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /forgot-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
|
||
|
||
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /forgot-password @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /forgot-password @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /forgot-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /forgot-password @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /forgot-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /verify-email @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /verify-email @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /verify-email @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /verify-email @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
|
||
|
||
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /verify-email @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
|
||
|
||
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /verify-email @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /verify-email @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Verify Email @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /verify-email @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /verify-email @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /verify-email @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /reset-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px\\nFIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /reset-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px\\nFIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /reset-password @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-1/4: +219px → Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-2/3: +101px → Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /reset-password @ mobileSE (375×667): div.absolute.top-1/4 dépasse de 219px
|
||
|
||
FIX: Débordement de 219px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /reset-password @ mobileSE (375×667): div.absolute.top-2/3 dépasse de 101px
|
||
|
||
FIX: Débordement de 101px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /reset-password @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /reset-password @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Reset Password @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /reset-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 débordement(s) sur /reset-password @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /reset-password @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ mobileSE (375×667): div.absolute.top-0 dépasse de 55px\\nFIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 19 débordement(s) sur /dashboard @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ tablet (768×1024): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /dashboard @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ tablet (768×1024): div.absolute.top-0 dépasse de 39px
|
||
|
||
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ laptop (1280×720): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /dashboard @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ laptop (1280×720): div.absolute.top-0 dépasse de 39px
|
||
|
||
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /dashboard @ desktop (1440×900): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /dashboard @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /dashboard @ desktop (1440×900): div.absolute.top-0 dépasse de 39px
|
||
|
||
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 18 débordement(s) sur /feed @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• sv</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px
|
||
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /feed @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /feed @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /feed @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /feed @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.absolute.-bottom-2 dépasse de 7px\\nFIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ mobileSE (375×667): div.absolute.-bottom-2 dépasse de 7px\\nFIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 20 débordement(s) sur /discover @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 7px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /disco</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /discover @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /discover @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /discover @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /discover @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 18 débordement(s) sur /library @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
•</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ mobileSE (3</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /library @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /library @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /library @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /library @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ mobileSE (375×667): div.absolute.top-0 dépasse de 55px\\nFIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 19 débordement(s) sur /profile @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
•</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 55px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ mobileSE (3</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ tablet (768×1024): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /profile @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ tablet (768×1024): div.absolute.top-0 dépasse de 39px
|
||
|
||
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ laptop (1280×720): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /profile @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ laptop (1280×720): div.absolute.top-0 dépasse de 39px
|
||
|
||
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /profile @ desktop (1440×900): div.absolute.top-0 dépasse de 39px\\nFIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 3 débordement(s) sur /profile @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.top-0: +39px → Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m3[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /profile @ desktop (1440×900): div.absolute.top-0 dépasse de 39px
|
||
|
||
FIX: Débordement de 39px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 18 débordement(s) sur /settings @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /setti</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /settings @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /settings @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /settings @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /settings @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.flex.items-center dépasse de 142px\\nFIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative dépasse de 33px\\nFIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 33px\\nFIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): svg. dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): path. dépasse de 19px\\nFIX: Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): path. dépasse de 12px\\nFIX: Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.h-6.w-px dépasse de 42px\\nFIX: Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative.inline-block dépasse de 94px\\nFIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 94px\\nFIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): svg. dépasse de 80px\\nFIX: Débordement de 80px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): path. dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative dépasse de 142px\\nFIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): button.flex.items-center dépasse de 142px\\nFIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): div.relative.w-8 dépasse de 132px\\nFIX: Débordement de 132px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): span.text-xs.font-bold dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 134px\\nFIX: Débordement de 134px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 18 débordement(s) sur /playlists @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +142px → Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +33px → Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +33px → Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +19px → Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +12px → Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +42px → Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +94px → Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +94px → Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses pare</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 80px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 132px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 134px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.flex.items-center dépasse de 142px
|
||
|
||
FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative dépasse de 33px
|
||
|
||
FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 33px
|
||
|
||
FIX: Débordement de 33px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): svg. dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): path. dépasse de 19px
|
||
|
||
FIX: Débordement de 19px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): path. dépasse de 12px
|
||
|
||
FIX: Débordement de 12px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.h-6.w-px dépasse de 42px
|
||
|
||
FIX: Débordement de 42px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative.inline-block dépasse de 94px
|
||
|
||
FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): button.inline-flex.items-center dépasse de 94px
|
||
|
||
FIX: Débordement de 94px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): svg. dépasse de 80px
|
||
|
||
FIX: Débordement de 80px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): path. dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative dépasse de 142px
|
||
|
||
FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): button.flex.items-center dépasse de 142px
|
||
|
||
FIX: Débordement de 142px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ mobileSE (375×667): div.relative.w-8 dépasse de 132px
|
||
|
||
FIX: Débordement de 132px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /playlists @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /playlists @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /playlists @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /playlists @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ mobileSE (375×667) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px\\nFIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px\\nFIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): svg. dépasse de 11px\\nFIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): path. dépasse de 9px\\nFIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): path. dépasse de 2px\\nFIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.h-6.w-px dépasse de 30px\\nFIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative.inline-block dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px\\nFIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): svg. dépasse de 66px\\nFIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): path. dépasse de 64px\\nFIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): button.flex.items-center dépasse de 126px\\nFIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): div.relative.w-8 dépasse de 116px\\nFIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): span.text-xs.font-bold dépasse de 110px\\nFIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ mobileSE (375×667): span.absolute.-bottom-0.5 dépasse de 118px\\nFIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 18 débordement(s) sur /marketplace @ mobileSE (375×667):
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +38px → Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.flex.items-center: +126px → Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +21px → Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• svg.: +11px → Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +9px → Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• path.: +2px → Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.h-6.w-px: +30px → Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.relative.inline-block: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• button.inline-flex.items-center: +78px → Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parent</div>
|
||
<div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 110px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 118px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.absolute.bottom-[-20%] dépasse de 38px
|
||
|
||
FIX: Débordement de 38px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 21px
|
||
|
||
FIX: Débordement de 21px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): svg. dépasse de 11px
|
||
|
||
FIX: Débordement de 11px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): path. dépasse de 9px
|
||
|
||
FIX: Débordement de 9px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): path. dépasse de 2px
|
||
|
||
FIX: Débordement de 2px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.h-6.w-px dépasse de 30px
|
||
|
||
FIX: Débordement de 30px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative.inline-block dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): button.inline-flex.items-center dépasse de 78px
|
||
|
||
FIX: Débordement de 78px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): svg. dépasse de 66px
|
||
|
||
FIX: Débordement de 66px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): path. dépasse de 64px
|
||
|
||
FIX: Débordement de 64px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): button.flex.items-center dépasse de 126px
|
||
|
||
FIX: Débordement de 126px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ mobileSE (375×667): div.relative.w-8 dépasse de 116px
|
||
|
||
FIX: Débordement de 116px à droite. Ajouter overflow-hidden ou max-w-full sur</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ tablet (768×1024) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px\\nFIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /marketplace @ tablet (768×1024):
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +77px → Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ tablet (768×1024): div.absolute.bottom-[-20%] dépasse de 77px
|
||
|
||
FIX: Débordement de 77px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ laptop (1280×720) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px\\nFIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /marketplace @ laptop (1280×720):
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +128px → Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ laptop (1280×720): div.absolute.bottom-[-20%] dépasse de 128px
|
||
|
||
FIX: Débordement de 128px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Marketplace @ desktop (1440×900) — pas de débordement horizontal</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.\\n\\nPROBLÈME: /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px\\nFIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 2 débordement(s) sur /marketplace @ desktop (1440×900):
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
• div.absolute.bottom-[-20%]: +144px → Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m2[39m</div>
|
||
<div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div><div class="fix">FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[OVERFLOW] /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
|
||
[OVERFLOW] /marketplace @ desktop (1440×900): div.absolute.bottom-[-20%] dépasse de 144px
|
||
|
||
FIX: Débordement de 144px à droite. Ajouter overflow-hidden ou max-w-full sur ce conteneur ou ses parents.
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Mobile — le sidebar est caché par défaut</strong></div>
|
||
|
||
</div>
|
||
<div class="error-detail">Error: Le sidebar est trop large sur mobile (240px). FIX: Cacher avec lg:block.
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBeLessThan[2m([22m[32mexpected[39m[2m)[22m
|
||
|
||
Expected: < [32m100[39m
|
||
Received: [31m240[39m</div>
|
||
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[MOBILE] Le sidebar est visible et prend 240px sur mobile — devrait être caché
|
||
</pre></details>
|
||
</div>
|
||
|
||
|
||
|
||
<details>
|
||
<summary>Tests passés (99)</summary>
|
||
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings — les modals de confirmation fonctionnent</span>
|
||
<span class="timestamp">7192ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Playlists — la modal de création fonctionne</span>
|
||
<span class="timestamp">8400ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dialogs — le backdrop bloque les clics sous le modal</span>
|
||
<span class="timestamp">8469ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Login (/login) — zéro chevauchement critique</span>
|
||
<span class="timestamp">3939ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Forgot Password (/forgot-password) — zéro chevauchement critique</span>
|
||
<span class="timestamp">4167ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Verify Email (/verify-email) — zéro chevauchement critique</span>
|
||
<span class="timestamp">3970ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Reset Password (/reset-password) — zéro chevauchement critique</span>
|
||
<span class="timestamp">3926ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Dashboard (/dashboard) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7405ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Feed (/feed) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7366ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Library (/library) — zéro chevauchement critique</span>
|
||
<span class="timestamp">8032ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Queue (/queue) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7625ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Search (/search) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7378ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Profile (/profile) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7585ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Settings (/settings) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7619ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Sessions (/settings/sessions) — zéro chevauchement critique</span>
|
||
<span class="timestamp">19909ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Notifications (/notifications) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7474ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Playlists (/playlists) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7812ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Social (/social) — zéro chevauchement critique</span>
|
||
<span class="timestamp">8280ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Marketplace (/marketplace) — zéro chevauchement critique</span>
|
||
<span class="timestamp">8171ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Wishlist (/wishlist) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7482ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Purchases (/purchases) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7908ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Subscription (/subscription) — zéro chevauchement critique</span>
|
||
<span class="timestamp">6976ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Live (/live) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7414ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Cloud (/cloud) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7506ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[LISTENER] Education (/education) — zéro chevauchement critique</span>
|
||
<span class="timestamp">7325ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Le player bar ne recouvre aucun contenu interactif de la page</span>
|
||
<span class="timestamp">10389ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login (/login) — tous les boutons changent visuellement au hover</span>
|
||
<span class="timestamp">6149ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login — Tab à travers le formulaire, chaque champ est visuellement focusé</span>
|
||
<span class="timestamp">4582ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard — Tab navigation complète</span>
|
||
<span class="timestamp">8839ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings — Tous les contrôles de formulaire ont un focus ring</span>
|
||
<span class="timestamp">5964ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Discover — navigation clavier fonctionnelle</span>
|
||
<span class="timestamp">8267ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Library — navigation clavier fonctionnelle</span>
|
||
<span class="timestamp">8113ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Playlists — navigation clavier fonctionnelle</span>
|
||
<span class="timestamp">8590ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Marketplace — navigation clavier fonctionnelle</span>
|
||
<span class="timestamp">8259ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard — les sections sont alignées et espacées</span>
|
||
<span class="timestamp">6120ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Discover — les track cards sont toutes de la même taille</span>
|
||
<span class="timestamp">5731ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard (/dashboard) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5908ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Feed (/feed) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5401ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Discover (/discover) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5620ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Library (/library) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5742ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Queue (/queue) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5770ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Search (/search) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5944ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Profile (/profile) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5687ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings (/settings) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5615ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Sessions (/settings/sessions) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">14010ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Notifications (/notifications) — le contenu principal a un padding suffisant</span>
|
||
<span class="timestamp">5654ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Login — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">2561ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Register — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">2655ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Forgot Password — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">2855ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Verify Email — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">2722ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Reset Password — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">2684ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Dashboard — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5850ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Feed — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">6303ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Feed — hiérarchie des titres logique</span>
|
||
<span class="timestamp">5926ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Discover — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5890ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Discover — hiérarchie des titres logique</span>
|
||
<span class="timestamp">5611ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Library — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5386ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Queue — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5360ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Search — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5794ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Profile — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5655ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Settings — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5603ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Settings — hiérarchie des titres logique</span>
|
||
<span class="timestamp">5377ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Sessions — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">11719ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Notifications — toutes les fonts sont du design system SUMI</span>
|
||
<span class="timestamp">5526ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Notifications — hiérarchie des titres logique</span>
|
||
<span class="timestamp">5232ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Les headings utilisent Space Grotesk (font-heading)</span>
|
||
<span class="timestamp">5433ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Dashboard — contraste WCAG AA</span>
|
||
<span class="timestamp">5614ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Feed — contraste WCAG AA</span>
|
||
<span class="timestamp">5342ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Discover — contraste WCAG AA</span>
|
||
<span class="timestamp">5499ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Queue — contraste WCAG AA</span>
|
||
<span class="timestamp">6593ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Search — contraste WCAG AA</span>
|
||
<span class="timestamp">5761ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Profile — contraste WCAG AA</span>
|
||
<span class="timestamp">6315ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Settings — contraste WCAG AA</span>
|
||
<span class="timestamp">5697ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Sessions — contraste WCAG AA</span>
|
||
<span class="timestamp">11428ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Notifications — contraste WCAG AA</span>
|
||
<span class="timestamp">5253ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Social — contraste WCAG AA</span>
|
||
<span class="timestamp">6155ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard — les cards ont des border-radius cohérents</span>
|
||
<span class="timestamp">5415ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Boutons — border-radius cohérent par variante</span>
|
||
<span class="timestamp">5802ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard — les boutons ont des transitions déclarées</span>
|
||
<span class="timestamp">5779ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Le hover sur un bouton provoque un changement graduel (pas brusque)</span>
|
||
<span class="timestamp">5194ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Login — aucune image cassée</span>
|
||
<span class="timestamp">2709ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Register — aucune image cassée</span>
|
||
<span class="timestamp">2443ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Forgot Password — aucune image cassée</span>
|
||
<span class="timestamp">2325ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Verify Email — aucune image cassée</span>
|
||
<span class="timestamp">2299ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Reset Password — aucune image cassée</span>
|
||
<span class="timestamp">2415ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Dashboard — aucune image cassée</span>
|
||
<span class="timestamp">5348ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Feed — aucune image cassée</span>
|
||
<span class="timestamp">4999ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Discover — aucune image cassée</span>
|
||
<span class="timestamp">5178ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Library — aucune image cassée</span>
|
||
<span class="timestamp">5202ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Queue — aucune image cassée</span>
|
||
<span class="timestamp">5469ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Search — aucune image cassée</span>
|
||
<span class="timestamp">5042ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Profile — aucune image cassée</span>
|
||
<span class="timestamp">5386ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Settings — aucune image cassée</span>
|
||
<span class="timestamp">5385ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Sessions — aucune image cassée</span>
|
||
<span class="timestamp">9915ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Notifications — aucune image cassée</span>
|
||
<span class="timestamp">5067ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard — les icônes SVG sont de taille cohérente</span>
|
||
<span class="timestamp">5233ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Avatars — ont un fallback quand l'image ne charge pas</span>
|
||
<span class="timestamp">5371ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Mobile — le contenu principal utilise toute la largeur</span>
|
||
<span class="timestamp">5214ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Mobile — le player bar est visible et accessible</span>
|
||
<span class="timestamp">5051ms</span>
|
||
</div>
|
||
</details>
|
||
|
||
|
||
<h2>🖱️ Interactions — 96%</h2>
|
||
|
||
|
||
<h3>Échecs (1)</h3>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>Login échoué — un toast d'erreur ou message d'erreur apparaît</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: Error toast visible: false, inline error visible: false\\nFIX: `)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: Aucun feedback d'erreur après login échoué
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32mtrue[39m
|
||
Received: [31mfalse[39m</div>
|
||
<div class="fix">FIX: </div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[TOAST] Error toast visible: false, inline error visible: false
|
||
</pre></details>
|
||
</div>
|
||
|
||
|
||
|
||
<details>
|
||
<summary>Tests passés (26)</summary>
|
||
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Sidebar — les dropdowns de navigation fonctionnent</span>
|
||
<span class="timestamp">7416ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings — les select/dropdown de préférences fonctionnent</span>
|
||
<span class="timestamp">7189ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Header — le menu utilisateur fonctionne</span>
|
||
<span class="timestamp">8121ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Discover — les filtres/genre buttons fonctionnent</span>
|
||
<span class="timestamp">8392ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login — soumission vide affiche des erreurs</span>
|
||
<span class="timestamp">6134ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Register — champs requis sont validés</span>
|
||
<span class="timestamp">5668ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings — les formulaires de profil sauvegardent correctement</span>
|
||
<span class="timestamp">7724ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Forms — pas de double soumission (bouton disabled après clic)</span>
|
||
<span class="timestamp">14667ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Forgot password — le formulaire accepte un email et affiche confirmation</span>
|
||
<span class="timestamp">6953ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login réussi — un toast ou redirection se produit</span>
|
||
<span class="timestamp">4362ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Toast — ne bloque pas les boutons du header ou sidebar</span>
|
||
<span class="timestamp">8181ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Toast — disparaît automatiquement après ~4 secondes</span>
|
||
<span class="timestamp">5028ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Playlists — la page de détail charge sans erreur</span>
|
||
<span class="timestamp">8277ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Queue — la page de queue charge et affiche la file d'attente</span>
|
||
<span class="timestamp">7102ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Login — le formulaire est entièrement navigable au clavier</span>
|
||
<span class="timestamp">5076ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard — Escape ferme les éléments ouverts</span>
|
||
<span class="timestamp">8463ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Dashboard (/dashboard) — navigation clavier possible</span>
|
||
<span class="timestamp">9941ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Feed (/feed) — navigation clavier possible</span>
|
||
<span class="timestamp">9868ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Discover (/discover) — navigation clavier possible</span>
|
||
<span class="timestamp">10221ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Library (/library) — navigation clavier possible</span>
|
||
<span class="timestamp">9653ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Queue (/queue) — navigation clavier possible</span>
|
||
<span class="timestamp">9583ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Search (/search) — navigation clavier possible</span>
|
||
<span class="timestamp">9981ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Profile (/profile) — navigation clavier possible</span>
|
||
<span class="timestamp">9811ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Settings (/settings) — navigation clavier possible</span>
|
||
<span class="timestamp">9999ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Enter active les boutons focusés</span>
|
||
<span class="timestamp">3892ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Space toggle les checkboxes et switches</span>
|
||
<span class="timestamp">7305ms</span>
|
||
</div>
|
||
</details>
|
||
|
||
|
||
<h2>♿ Accessibilité — 9%</h2>
|
||
|
||
|
||
<h3>Échecs (19)</h3>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Login (/login) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 violation(s) WCAG critique(s) sur /login:
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
URL: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
|
||
Element: <button class="px-4 py-2.5 rounded-..." aria-busy="false" aria-disabled="false"
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Help: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
|
||
|
||
Element: <button class="px-4 py-2.5 rounded-..." aria-busy="false" aria-disabled="false" type="submit" data-t
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Register (/register) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 violation(s) WCAG critique(s) sur /register:
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
URL: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
|
||
Element: <button class="px-4 py-2.5 rounded-..." aria-busy="false" aria-disabled="false"
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Help: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
|
||
|
||
Element: <button class="px-4 py-2.5 rounded-..." aria-busy="false" aria-disabled="false" type="submit" data-t
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PUBLIC] Forgot Password (/forgot-password) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 1 violation(s) WCAG critique(s) sur /forgot-password:
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
URL: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
|
||
Element: <button class="w-full px-4 py-2.5 r..." aria-busy="false" aria-disabled="false"
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m1[39m</div>
|
||
<div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Help: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
|
||
|
||
Element: <button class="w-full px-4 py-2.5 r..." aria-busy="false" aria-disabled="false" type="submit">
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 4.28 (foreground color: #121215, background color: #4d77cb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Dashboard (/dashboard) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /dashboard:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is </div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Feed (/feed) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /feed:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visib</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Discover (/discover) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /discover:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is v</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Library (/library) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /library:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is vi</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Queue (/queue) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /queue:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visi</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Search (/search) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /search:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with rol</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <span class="inline-flex items-center text-muted-foreground cursor-help mr-2" aria-label="Aide: Util
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, </pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Profile (/profile) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /profile:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is vi</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Settings (/settings) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /settings:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is v</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="truncate transition-all duration-[var(--sumi-duration-normal)] opacity-100">Settings</s
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Notifications (/notifications) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] nested-interactive: Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 5 violation(s) WCAG critique(s) sur /notifications:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Playlists (/playlists) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /playlists:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is </div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button data-testid="prev-button" class="flex items-center justify-center rounded-full flex-shrink-0
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[PROTECTED] Social (/social) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /social:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is vis</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
Element: <span class="absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full bg-emerald-500 border-2 border-[va
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
Element: <div class="absolute bottom-0 left-0 right-0 z-50 w-full min-w-0" aria-label="Player bar container">
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
Element: <button class="inline-flex items-ce...">
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button type="button" class="appearance-none bg-transparent border-0 p-0 block w-full text-left rela
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
Element: <button class="flex items-center justify-center rounded-full flex-shrink-0 transition-all duration-[
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
Element: <span class="ml-auto flex h-5 min-w-5 items-center justify-center rounded-full bg-primary/15 text-pr
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
Element: <span class="transition-all duration-[var(--sumi-duration-normal)] whitespace-nowrap truncate opacit
|
||
|
||
FIX: Fix any of the followin</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Admin Dashboard (/admin) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /admin:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
• [critical] label: Ensure every form element has a label
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m4[39m</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[AXE] [CRITICAL] label: Ensure every form element has a label
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element has no placeholder attribute
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Moderation (/admin/moderation) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 5 violation(s) WCAG critique(s) sur /admin/moderation:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
• [critical] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
• [critical] label: Ensure every form element has a label
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m5[39m</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
|
||
|
||
FIX: Fix any of the following:
|
||
Required ARIA parent role not present: tablist
|
||
|
||
FIX: Fix any of the following:
|
||
Required ARIA parent role not present: tablist
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[AXE] [CRITICAL] label: Ensure every form element has a label
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element has no placeholder attribute
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Platform (/admin/platform) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 5 violation(s) WCAG critique(s) sur /admin/platform:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
• [critical] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
• [critical] label: Ensure every form element has a label
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m5[39m</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] aria-required-parent: Ensure elements with an ARIA role that require parent roles are contained by them
|
||
|
||
FIX: Fix any of the following:
|
||
Required ARIA parent role not present: tablist
|
||
|
||
FIX: Fix any of the following:
|
||
Required ARIA parent role not present: tablist
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[AXE] [CRITICAL] label: Ensure every form element has a label
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element has no placeholder attribute
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Transfers (/admin/transfers) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /admin/transfers:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
• [critical] label: Ensure every form element has a label
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m4[39m</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[AXE] [CRITICAL] label: Ensure every form element has a label
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element has no placeholder attribute
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
</pre></details>
|
||
</div>
|
||
|
||
<div class="problem">
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
|
||
<div><span class="badge fail">ÉCHOUÉ</span> <strong>[ADMIN] Roles (/admin/roles) — zéro violation WCAG AA critique</strong></div>
|
||
<button class="copy-btn" onclick="navigator.clipboard.writeText(`PROBLÈME: [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role\\nFIX: Fix all of the following:\\n\\nPROBLÈME: [CRITICAL] button-name: Ensure buttons have discernible text\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\\nFIX: Fix any of the following:\\n\\nPROBLÈME: [CRITICAL] label: Ensure every form element has a label\\nFIX: Fix any of the following:`)">Copier pour Claude Code</button>
|
||
</div>
|
||
<div class="error-detail">Error: 4 violation(s) WCAG critique(s) sur /admin/roles:
|
||
• [serious] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
• [critical] button-name: Ensure buttons have discernible text
|
||
• [serious] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
• [critical] label: Ensure every form element has a label
|
||
|
||
[2mexpect([22m[31mreceived[39m[2m).[22mtoBe[2m([22m[32mexpected[39m[2m) // Object.is equality[22m
|
||
|
||
Expected: [32m0[39m
|
||
Received: [31m4[39m</div>
|
||
<div class="fix">FIX: Fix all of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div><div class="fix">FIX: Fix any of the following:</div>
|
||
<details><summary>Détails (stdout)</summary><pre class="error-detail">[AXE] [SERIOUS] aria-prohibited-attr: Ensure ARIA attributes are not prohibited for an element's role
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a span with no valid role attribute.
|
||
|
||
FIX: Fix all of the following:
|
||
aria-label attribute cannot be used on a div with no valid role attribute.
|
||
|
||
[AXE] [CRITICAL] button-name: Ensure buttons have discernible text
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have inner text that is visible to screen readers
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
|
||
[AXE] [SERIOUS] color-contrast: Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.5 (foreground color: #4d77cb, background color: #202534, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
FIX: Fix any of the following:
|
||
Element has insufficient color contrast of 3.36 (foreground color: #4d77cb, background color: #222839, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
|
||
|
||
[AXE] [CRITICAL] label: Ensure every form element has a label
|
||
|
||
FIX: Fix any of the following:
|
||
Element does not have an implicit (wrapped) <label>
|
||
Element does not have an explicit <label>
|
||
aria-label attribute does not exist or is empty
|
||
aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
|
||
Element has no title attribute
|
||
Element has no placeholder attribute
|
||
Element's default semantics were not overridden with role="none" or role="presentation"
|
||
</pre></details>
|
||
</div>
|
||
|
||
|
||
|
||
<details>
|
||
<summary>Tests passés (2)</summary>
|
||
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Verify Email (/verify-email) — zéro violation WCAG AA critique</span>
|
||
<span class="timestamp">5224ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Reset Password (/reset-password) — zéro violation WCAG AA critique</span>
|
||
<span class="timestamp">4517ms</span>
|
||
</div>
|
||
</details>
|
||
|
||
|
||
<h2>🛡️ Éthique — 100%</h2>
|
||
|
||
|
||
|
||
|
||
<details>
|
||
<summary>Tests passés (6)</summary>
|
||
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Aucun compteur de "likes" ou "plays" visible publiquement</span>
|
||
<span class="timestamp">15310ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Aucun élément de gamification (XP, streak, badge, leaderboard)</span>
|
||
<span class="timestamp">14430ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Pas de dark patterns UX — désinscription facile</span>
|
||
<span class="timestamp">7882ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Pas de notifications push manipulatrices</span>
|
||
<span class="timestamp">5370ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Le feed est chronologique (pas de ranking comportemental)</span>
|
||
<span class="timestamp">8416ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>Pas d'imports AI/ML/blockchain interdits dans le bundle</span>
|
||
<span class="timestamp">8880ms</span>
|
||
</div>
|
||
</details>
|
||
|
||
|
||
<h2>📸 Screenshots — 100%</h2>
|
||
|
||
|
||
|
||
|
||
<details>
|
||
<summary>Tests passés (64)</summary>
|
||
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Login @ desktop</span>
|
||
<span class="timestamp">2807ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Register @ desktop</span>
|
||
<span class="timestamp">2721ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Forgot Password @ desktop</span>
|
||
<span class="timestamp">2655ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Verify Email @ desktop</span>
|
||
<span class="timestamp">2889ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Reset Password @ desktop</span>
|
||
<span class="timestamp">2832ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Login @ mobile</span>
|
||
<span class="timestamp">1945ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Register @ mobile</span>
|
||
<span class="timestamp">2074ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Forgot Password @ mobile</span>
|
||
<span class="timestamp">1980ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Verify Email @ mobile</span>
|
||
<span class="timestamp">1859ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PUBLIC] Reset Password @ mobile</span>
|
||
<span class="timestamp">2083ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Dashboard @ desktop</span>
|
||
<span class="timestamp">5827ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Feed @ desktop</span>
|
||
<span class="timestamp">5582ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Discover @ desktop</span>
|
||
<span class="timestamp">5839ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Library @ desktop</span>
|
||
<span class="timestamp">5836ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Queue @ desktop</span>
|
||
<span class="timestamp">5614ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Search @ desktop</span>
|
||
<span class="timestamp">5766ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Profile @ desktop</span>
|
||
<span class="timestamp">6203ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Settings @ desktop</span>
|
||
<span class="timestamp">5952ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Sessions @ desktop</span>
|
||
<span class="timestamp">12230ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Notifications @ desktop</span>
|
||
<span class="timestamp">5741ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Playlists @ desktop</span>
|
||
<span class="timestamp">5763ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Social @ desktop</span>
|
||
<span class="timestamp">6195ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Chat @ desktop</span>
|
||
<span class="timestamp">5872ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Marketplace @ desktop</span>
|
||
<span class="timestamp">5708ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Wishlist @ desktop</span>
|
||
<span class="timestamp">5577ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Purchases @ desktop</span>
|
||
<span class="timestamp">5717ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Subscription @ desktop</span>
|
||
<span class="timestamp">5848ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Live @ desktop</span>
|
||
<span class="timestamp">5860ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Cloud @ desktop</span>
|
||
<span class="timestamp">5871ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Education @ desktop</span>
|
||
<span class="timestamp">5638ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Support @ desktop</span>
|
||
<span class="timestamp">5824ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Dashboard @ mobile</span>
|
||
<span class="timestamp">5048ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Feed @ mobile</span>
|
||
<span class="timestamp">5079ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Discover @ mobile</span>
|
||
<span class="timestamp">5268ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Library @ mobile</span>
|
||
<span class="timestamp">5305ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Queue @ mobile</span>
|
||
<span class="timestamp">5314ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Search @ mobile</span>
|
||
<span class="timestamp">4970ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Profile @ mobile</span>
|
||
<span class="timestamp">5381ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Settings @ mobile</span>
|
||
<span class="timestamp">5262ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Sessions @ mobile</span>
|
||
<span class="timestamp">10544ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Notifications @ mobile</span>
|
||
<span class="timestamp">5258ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Playlists @ mobile</span>
|
||
<span class="timestamp">5169ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Social @ mobile</span>
|
||
<span class="timestamp">5729ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Chat @ mobile</span>
|
||
<span class="timestamp">5230ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Marketplace @ mobile</span>
|
||
<span class="timestamp">5139ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Wishlist @ mobile</span>
|
||
<span class="timestamp">5029ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Purchases @ mobile</span>
|
||
<span class="timestamp">5241ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Subscription @ mobile</span>
|
||
<span class="timestamp">5092ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Live @ mobile</span>
|
||
<span class="timestamp">5161ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Cloud @ mobile</span>
|
||
<span class="timestamp">5304ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Education @ mobile</span>
|
||
<span class="timestamp">4997ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[PROTECTED] Support @ mobile</span>
|
||
<span class="timestamp">5568ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Analytics @ desktop</span>
|
||
<span class="timestamp">6019ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Seller Dashboard @ desktop</span>
|
||
<span class="timestamp">7301ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Distribution @ desktop</span>
|
||
<span class="timestamp">5864ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Gear @ desktop</span>
|
||
<span class="timestamp">5742ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Go Live @ desktop</span>
|
||
<span class="timestamp">5572ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Developer @ desktop</span>
|
||
<span class="timestamp">5809ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[CREATOR] Webhooks @ desktop</span>
|
||
<span class="timestamp">5441ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[ADMIN] Admin Dashboard @ desktop</span>
|
||
<span class="timestamp">5596ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[ADMIN] Moderation @ desktop</span>
|
||
<span class="timestamp">5397ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[ADMIN] Platform @ desktop</span>
|
||
<span class="timestamp">5353ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[ADMIN] Transfers @ desktop</span>
|
||
<span class="timestamp">5484ms</span>
|
||
</div>
|
||
<div class="test-row">
|
||
<span class="badge pass">OK</span>
|
||
<span>[ADMIN] Roles @ desktop</span>
|
||
<span class="timestamp">5615ms</span>
|
||
</div>
|
||
</details>
|
||
|
||
|
||
|
||
<h2>📸 Screenshots de référence (64)</h2>
|
||
<div class="screenshot-grid">
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/admin-admin-dashboard-desktop.png" alt="admin-admin-dashboard-desktop.png" loading="lazy" />
|
||
<div class="caption">admin admin dashboard desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/admin-moderation-desktop.png" alt="admin-moderation-desktop.png" loading="lazy" />
|
||
<div class="caption">admin moderation desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/admin-platform-desktop.png" alt="admin-platform-desktop.png" loading="lazy" />
|
||
<div class="caption">admin platform desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/admin-roles-desktop.png" alt="admin-roles-desktop.png" loading="lazy" />
|
||
<div class="caption">admin roles desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/admin-transfers-desktop.png" alt="admin-transfers-desktop.png" loading="lazy" />
|
||
<div class="caption">admin transfers desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-analytics-desktop.png" alt="creator-analytics-desktop.png" loading="lazy" />
|
||
<div class="caption">creator analytics desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-developer-desktop.png" alt="creator-developer-desktop.png" loading="lazy" />
|
||
<div class="caption">creator developer desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-distribution-desktop.png" alt="creator-distribution-desktop.png" loading="lazy" />
|
||
<div class="caption">creator distribution desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-gear-desktop.png" alt="creator-gear-desktop.png" loading="lazy" />
|
||
<div class="caption">creator gear desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-go-live-desktop.png" alt="creator-go-live-desktop.png" loading="lazy" />
|
||
<div class="caption">creator go live desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-seller-dashboard-desktop.png" alt="creator-seller-dashboard-desktop.png" loading="lazy" />
|
||
<div class="caption">creator seller dashboard desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/creator-webhooks-desktop.png" alt="creator-webhooks-desktop.png" loading="lazy" />
|
||
<div class="caption">creator webhooks desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-chat-desktop.png" alt="protected-chat-desktop.png" loading="lazy" />
|
||
<div class="caption">protected chat desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-chat-mobile.png" alt="protected-chat-mobile.png" loading="lazy" />
|
||
<div class="caption">protected chat mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-cloud-desktop.png" alt="protected-cloud-desktop.png" loading="lazy" />
|
||
<div class="caption">protected cloud desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-cloud-mobile.png" alt="protected-cloud-mobile.png" loading="lazy" />
|
||
<div class="caption">protected cloud mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-dashboard-desktop.png" alt="protected-dashboard-desktop.png" loading="lazy" />
|
||
<div class="caption">protected dashboard desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-dashboard-mobile.png" alt="protected-dashboard-mobile.png" loading="lazy" />
|
||
<div class="caption">protected dashboard mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-discover-desktop.png" alt="protected-discover-desktop.png" loading="lazy" />
|
||
<div class="caption">protected discover desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-discover-mobile.png" alt="protected-discover-mobile.png" loading="lazy" />
|
||
<div class="caption">protected discover mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-education-desktop.png" alt="protected-education-desktop.png" loading="lazy" />
|
||
<div class="caption">protected education desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-education-mobile.png" alt="protected-education-mobile.png" loading="lazy" />
|
||
<div class="caption">protected education mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-feed-desktop.png" alt="protected-feed-desktop.png" loading="lazy" />
|
||
<div class="caption">protected feed desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-feed-mobile.png" alt="protected-feed-mobile.png" loading="lazy" />
|
||
<div class="caption">protected feed mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-library-desktop.png" alt="protected-library-desktop.png" loading="lazy" />
|
||
<div class="caption">protected library desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-library-mobile.png" alt="protected-library-mobile.png" loading="lazy" />
|
||
<div class="caption">protected library mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-live-desktop.png" alt="protected-live-desktop.png" loading="lazy" />
|
||
<div class="caption">protected live desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-live-mobile.png" alt="protected-live-mobile.png" loading="lazy" />
|
||
<div class="caption">protected live mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-marketplace-desktop.png" alt="protected-marketplace-desktop.png" loading="lazy" />
|
||
<div class="caption">protected marketplace desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-marketplace-mobile.png" alt="protected-marketplace-mobile.png" loading="lazy" />
|
||
<div class="caption">protected marketplace mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-notifications-desktop.png" alt="protected-notifications-desktop.png" loading="lazy" />
|
||
<div class="caption">protected notifications desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-notifications-mobile.png" alt="protected-notifications-mobile.png" loading="lazy" />
|
||
<div class="caption">protected notifications mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-playlists-desktop.png" alt="protected-playlists-desktop.png" loading="lazy" />
|
||
<div class="caption">protected playlists desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-playlists-mobile.png" alt="protected-playlists-mobile.png" loading="lazy" />
|
||
<div class="caption">protected playlists mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-profile-desktop.png" alt="protected-profile-desktop.png" loading="lazy" />
|
||
<div class="caption">protected profile desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-profile-mobile.png" alt="protected-profile-mobile.png" loading="lazy" />
|
||
<div class="caption">protected profile mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-purchases-desktop.png" alt="protected-purchases-desktop.png" loading="lazy" />
|
||
<div class="caption">protected purchases desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-purchases-mobile.png" alt="protected-purchases-mobile.png" loading="lazy" />
|
||
<div class="caption">protected purchases mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-queue-desktop.png" alt="protected-queue-desktop.png" loading="lazy" />
|
||
<div class="caption">protected queue desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-queue-mobile.png" alt="protected-queue-mobile.png" loading="lazy" />
|
||
<div class="caption">protected queue mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-search-desktop.png" alt="protected-search-desktop.png" loading="lazy" />
|
||
<div class="caption">protected search desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-search-mobile.png" alt="protected-search-mobile.png" loading="lazy" />
|
||
<div class="caption">protected search mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-sessions-desktop.png" alt="protected-sessions-desktop.png" loading="lazy" />
|
||
<div class="caption">protected sessions desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-sessions-mobile.png" alt="protected-sessions-mobile.png" loading="lazy" />
|
||
<div class="caption">protected sessions mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-settings-desktop.png" alt="protected-settings-desktop.png" loading="lazy" />
|
||
<div class="caption">protected settings desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-settings-mobile.png" alt="protected-settings-mobile.png" loading="lazy" />
|
||
<div class="caption">protected settings mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-social-desktop.png" alt="protected-social-desktop.png" loading="lazy" />
|
||
<div class="caption">protected social desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-social-mobile.png" alt="protected-social-mobile.png" loading="lazy" />
|
||
<div class="caption">protected social mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-subscription-desktop.png" alt="protected-subscription-desktop.png" loading="lazy" />
|
||
<div class="caption">protected subscription desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-subscription-mobile.png" alt="protected-subscription-mobile.png" loading="lazy" />
|
||
<div class="caption">protected subscription mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-support-desktop.png" alt="protected-support-desktop.png" loading="lazy" />
|
||
<div class="caption">protected support desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-support-mobile.png" alt="protected-support-mobile.png" loading="lazy" />
|
||
<div class="caption">protected support mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-wishlist-desktop.png" alt="protected-wishlist-desktop.png" loading="lazy" />
|
||
<div class="caption">protected wishlist desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/protected-wishlist-mobile.png" alt="protected-wishlist-mobile.png" loading="lazy" />
|
||
<div class="caption">protected wishlist mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-forgot-password-desktop.png" alt="public-forgot-password-desktop.png" loading="lazy" />
|
||
<div class="caption">public forgot password desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-forgot-password-mobile.png" alt="public-forgot-password-mobile.png" loading="lazy" />
|
||
<div class="caption">public forgot password mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-login-desktop.png" alt="public-login-desktop.png" loading="lazy" />
|
||
<div class="caption">public login desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-login-mobile.png" alt="public-login-mobile.png" loading="lazy" />
|
||
<div class="caption">public login mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-register-desktop.png" alt="public-register-desktop.png" loading="lazy" />
|
||
<div class="caption">public register desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-register-mobile.png" alt="public-register-mobile.png" loading="lazy" />
|
||
<div class="caption">public register mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-reset-password-desktop.png" alt="public-reset-password-desktop.png" loading="lazy" />
|
||
<div class="caption">public reset password desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-reset-password-mobile.png" alt="public-reset-password-mobile.png" loading="lazy" />
|
||
<div class="caption">public reset password mobile</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-verify-email-desktop.png" alt="public-verify-email-desktop.png" loading="lazy" />
|
||
<div class="caption">public verify email desktop</div>
|
||
</div>
|
||
|
||
<div class="screenshot-card">
|
||
<img src="screenshots/public-verify-email-mobile.png" alt="public-verify-email-mobile.png" loading="lazy" />
|
||
<div class="caption">public verify email mobile</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<hr style="border-color: var(--border); margin: 2rem 0;">
|
||
<p class="timestamp">Rapport généré par Veza Audit Suite — 350 tests, 245 passés, 104 échoués</p>
|
||
<p style="font-size:0.75rem;color:var(--text-muted);margin-top:0.5rem;">Pour corriger les problèmes, copiez les blocs "FIX" et donnez-les à Claude Code.</p>
|
||
|
||
</div>
|
||
|
||
<script>
|
||
// Toggle category details
|
||
document.querySelectorAll('.category-header').forEach(header => {
|
||
header.addEventListener('click', () => {
|
||
const body = header.nextElementSibling;
|
||
body.style.display = body.style.display === 'none' ? 'block' : 'none';
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |