Files
j_kedzierski/detect_dark_de.json

404 lines
18 KiB
JSON

[
{
"antipattern": "oversized-h1",
"name": "Oversized hero headline",
"description": "A full-sentence headline set at display size ends up dominating the viewport, leaving no room for anything else above the fold. A punchy one- or two-word headline at that size is fine — the problem is a long headline blown up too large. Set long headlines smaller, or tighten the copy.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de",
"line": 0,
"snippet": "72px h1, 84 chars, 48vh \"Steuererstattung aus Deutschland sichernKompetente Beratung \""
},
{
"antipattern": "gpt-thin-border-wide-shadow",
"name": "Hairline border with wide shadow",
"description": "A hairline border paired with a wide, diffuse shadow is a recurring generated-UI signature. Commit to one — a defined edge or a soft elevation — rather than both at once.",
"severity": "advisory",
"category": "slop",
"file": "http://localhost:3000/de",
"line": 0,
"snippet": "1px border + 50px shadow blur",
"advisory": true
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "line-length",
"name": "Line length too long",
"description": "Text lines wider than ~80 characters are hard to read. The eye loses its place tracking back to the start of the next line. Add a max-width (65ch to 75ch) to text containers.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "~86 chars/line (aim for <80)"
},
{
"antipattern": "line-length",
"name": "Line length too long",
"description": "Text lines wider than ~80 characters are hard to read. The eye loses its place tracking back to the start of the next line. Add a max-width (65ch to 75ch) to text containers.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "~85 chars/line (aim for <80)"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "Cyan neon text on dark background"
},
{
"antipattern": "line-length",
"name": "Line length too long",
"description": "Text lines wider than ~80 characters are hard to read. The eye loses its place tracking back to the start of the next line. Add a max-width (65ch to 75ch) to text containers.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "~86 chars/line (aim for <80)"
},
{
"antipattern": "line-length",
"name": "Line length too long",
"description": "Text lines wider than ~80 characters are hard to read. The eye loses its place tracking back to the start of the next line. Add a max-width (65ch to 75ch) to text containers.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "~86 chars/line (aim for <80)"
},
{
"antipattern": "edge-flush-cards",
"name": "Cards flush against the scroller edge",
"description": "Cards inside a horizontal scroller or tab panel sit flush against the container edge at rest while keeping a gutter on the other side, so their edges and rounded corners get cut off. Usually the panel is sized wider than its clip box. Keep a consistent inset on both sides.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/leistungen",
"line": 0,
"snippet": "1 card flush against the right edge of body.font-sans.antialiased.bg-background.text-foreground.min-h-screen.flex.flex-col at rest (3px gap, e.g. a.flex.h-14.w-14.items-center.justify-center.rounded-full.bg-[#25D366].text-[#1C1B1A].shadow-lg.transition-transform.hover:scale-105.hover:bg-[#20bd5a].focus:outline-none.focus:ring-4.focus:ring-[#25D366]/50)"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/terminvereinbarung",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "edge-flush-cards",
"name": "Cards flush against the scroller edge",
"description": "Cards inside a horizontal scroller or tab panel sit flush against the container edge at rest while keeping a gutter on the other side, so their edges and rounded corners get cut off. Usually the panel is sized wider than its clip box. Keep a consistent inset on both sides.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/terminvereinbarung",
"line": 0,
"snippet": "1 card flush against the right edge of body.font-sans.antialiased.bg-background.text-foreground.min-h-screen.flex.flex-col at rest (3px gap, e.g. a.flex.h-14.w-14.items-center.justify-center.rounded-full.bg-[#25D366].text-[#1C1B1A].shadow-lg.transition-transform.hover:scale-105.hover:bg-[#20bd5a].focus:outline-none.focus:ring-4.focus:ring-[#25D366]/50)"
},
{
"antipattern": "line-length",
"name": "Line length too long",
"description": "Text lines wider than ~80 characters are hard to read. The eye loses its place tracking back to the start of the next line. Add a max-width (65ch to 75ch) to text containers.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "~85 chars/line (aim for <80)"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "nested-cards",
"name": "Nested cards",
"description": "Cards inside cards create visual noise and excessive depth. Flatten the hierarchy — use spacing, typography, and dividers instead of nesting containers.",
"severity": "warning",
"category": "slop",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "Card inside card"
},
{
"antipattern": "edge-flush-cards",
"name": "Cards flush against the scroller edge",
"description": "Cards inside a horizontal scroller or tab panel sit flush against the container edge at rest while keeping a gutter on the other side, so their edges and rounded corners get cut off. Usually the panel is sized wider than its clip box. Keep a consistent inset on both sides.",
"severity": "warning",
"category": "quality",
"file": "http://localhost:3000/de/uber-uns",
"line": 0,
"snippet": "1 card flush against the right edge of body.font-sans.antialiased.bg-background.text-foreground.min-h-screen.flex.flex-col at rest (3px gap, e.g. a.flex.h-14.w-14.items-center.justify-center.rounded-full.bg-[#25D366].text-[#1C1B1A].shadow-lg.transition-transform.hover:scale-105.hover:bg-[#20bd5a].focus:outline-none.focus:ring-4.focus:ring-[#25D366]/50)"
}
]