Load Abbod
Zum Bericht springen

Projekte Ember & OakFallstudie 01 / 10

Ember & Oakein Magazin, das Abendessen serviert

Ein Farm-to-table-Restaurant mit Holzfeuer in Portland, Oregon — gebaut wie ein redaktionelles Printmagazin, das nebenbei Reservierungen annimmt.

Branche
Restaurant · Gastgewerbe
Art Direction
Redaktionelles Printmagazin
Umsetzung
3 Dateien, kein Build-Step
JavaScript
0 KB, 164 Zeilen
Projektart
Eigeninitiiertes Konzept · März 2021
01 / 04Die vollständige Ember-and-Oak-Seite vom Masthead bis zum Footer 02 / 04 03 / 04 04 / 04
Die fertige Seite in voller Länge — ember-and-oak · März 2021

01 · Überblick

Ein Magazin, das Abendessen serviert

Für dieses Konzept habe ich mir Ember & Oak als Restaurant vorgestellt, das in Portland seit 2016 über Eichenholz kocht — die Art von Ort, an dem der Raum längst eine eigene Stimme hat, während die meisten Websites unentwegt darüber hinwegreden würden. Also hört die Seite auf, eine Vorstellung zu geben. Sie setzt das Restaurant so, wie es ein Food-Magazin täte — mit Titelkopf, Vorspann, linierten Spalten, Tellern, die bis an den Papierrand laufen, und einer Speisekarte, die man liest, statt an ihr vorbeizuscrollen.

Alles auf der Seite ist Typografie. Es gibt kein Hero-Video, kein Parallax-Showreel, kein Scroll-Jacking. Die einzige Bewegung im gesamten Build ist ein Anheben um acht Pixel beim Eintritt jeder Sektion und ein langsames Driften des Titelfotos — und beides steht sofort still, wenn der Besucher reduzierte Bewegung wünscht.

02 · Die Idee

Saisonal, ohne Eile, auf Papier

Festgelegt wurde das Konzept durch eine einzige Zeile aus dem Restaurant selbst: saisonale Karten, geschrieben vom Willamette Valley, gegart über Eiche, serviert ohne Eile. Ohne Eile wurde zur Designvorgabe. Nichts auf der Seite darf den Leser hetzen — nicht die Übergänge, nicht die Schrift, nicht die Handlungsaufforderungen.

Daraus entstanden drei Regeln, denen der gesamte Build folgt. Die Typografie führt, die Bilder unterstützen — nie umgekehrt. Jede Animation ist langsamer, als der Besucher erwartet. Und das Reservierungsformular steht am Ende der Geschichte, nicht in einer Sticky-Leiste, die Ihnen die Seite hinunter folgt.

Die Schrift führt

Fraunces mit variabler optischer Größe für Display, Libre Franklin für den Text. Die Fotografie sitzt in den Spalten wie Teller in einem Magazin.

Langsamer als erwartet

Eine einzige Easing-Kurve — cubic-bezier(0.33, 1, 0.68, 1) — und Reveals, die fast eine Sekunde brauchen, um zu landen.

Kein Druck

Ein einziges Reservierungsformular, am Fuß der Seite — nachdem Speisekarte, Küchenchef, Raum und Kritiken ihre Argumente vorgebracht haben.

03 · Ziele

Was die Seite leisten musste

  1. Die Speisekarte lesbar machen

    Vorspeisen, Hauptgänge und Desserts als drei echte Abschnitte mit Punktlinien und Preisen — die gedruckte Karte, auf dem Bildschirm, in jeder Breite.

  2. Den Raum verkaufen, ohne Slideshow

    Zwölf Fotografien, ins Raster gesetzt genau dort, wo der Text sie verdient — statt eines Karussells, das niemand weiterklickt.

  3. Eine Reservierung auf einem Bildschirm

    Sechs Felder, eine Live-Region für die Bestätigung und ein Fokuswechsel auf die Meldung, damit Screenreader-Nutzer sie hören.

  4. Unter einem harten Gewichtsbudget bleiben

    Kein Framework, keine Karussell-Bibliothek, keine Icon-Schrift. Die gesamte Interaktionsebene musste in wenige Kilobyte handgeschriebenes JavaScript passen.

04 · Bauablauf

Wie es gebaut wurde, der Reihe nach

Die Seite wurde so geschrieben, wie sie sich liest: erst die Struktur, dann das Typosystem, dann die Farbe, zuletzt die zwei Bewegungen. Nichts wurde gestaltet, bevor es ausgezeichnet war, und nichts bewegte sich, bevor es im Stillstand lesbar war.

  1. Semantisches Skelett

    Jeder Takt ist eine <section> mit einem aria-labelledby, das auf die eigene Überschrift zeigt — #story, #menu, #chef, #gallery, #private, #press, #reservations. Die Dokumentstruktur stimmte, bevor eine einzige CSS-Regel geschrieben war.

  2. Der Token-Block

    Fünfundzwanzig Custom Properties auf :root: sieben Farben, fünf Tinten-Alphas, zwei Schriftfamilien, eine Easing-Kurve, eine Masthead-Höhe. Kontrastverhältnisse stehen direkt neben den Werten, die geprüft werden mussten.

  3. Das Spaltenraster

    CSS Grid mit einer benannten Satzspalte, sodass Fließtext auf eine angenehme Zeilenlänge begrenzt bleibt, während Teller und Speisekarte breitere Spuren überspannen.

  4. Fünfzehn Breakpoints als Beweis

    Fünfzehn Media Queries, jede gegen ein echtes Umbruchproblem geschrieben statt gegen einen Gerätenamen.

  5. Unter sechs Kilobyte

    Mobile Navigation, Scroll-Reveals, Masthead-Schatten, Hero-Drift und das Reservierungsformular — 164 Zeilen, eine IIFE, ein matchMedia-Guard am Anfang.

05 · Architektur

Drei Dateien, sonst nichts

Es gibt keinen Bundler, keinen Transpiler und kein node_modules. Die Site besteht aus drei Dateien, ausgeliefert wie geschrieben; der Browser ist die einzige Laufzeitumgebung, die sie je gebraucht hat.

ember-and-oak/
├── index.html 32.6 KB — 7 Sektionen, 12 Fotografien, 0 Inline-SVG
├── styles.css 30.2 KB — 25 Custom Properties, 15 Media Queries, 2 Reduced-Motion-Blöcke
└── script.js 5.8 KB — 164 Zeilen: Nav · Reveals · Masthead · Parallax · Formular

Der Stack

  • Semantisches HTML
  • CSS Grid
  • Custom properties
  • IntersectionObserver
  • matchMedia
  • Fraunces
  • Libre Franklin
  • Vanilla JS

Barrierefreiheit

  • aria-expanded
  • aria-controls
  • aria-labelledby
  • aria-live
  • aria-hidden
  • Escape zum Schließen
  • Fokus beim Absenden

06 · Was sich gewehrt hat

Probleme — und was sie geschlagen hat

Herausforderung

Eine gedruckte Speisekarte führt das Auge mit Punktlinien vom Gericht zum Preis. Im Web wird das meist mit einer Reihe von Punkten gefälscht, die Screenreader dann laut vorlesen, einen nach dem anderen.

Lösung

Die Punktlinie wird mit einem wiederholten Hintergrundverlauf auf einem Flex-Abstandhalter gezeichnet. Sie ist Dekoration, nicht Inhalt — assistive Technologie begegnet ihr nie, und sie dehnt sich in jeder Breite perfekt.

Herausforderung

Creme auf Creme ist die ganze Palette, und kontrastarme Paletten sind der Ort, an dem Barrierefreiheit leise scheitert — besonders bei Formularrändern, die als Nicht-Text trotzdem 3:1 erfüllen müssen.

Lösung

Zwei Akzente statt einem. #C4552D zeichnet Linien und Flächen; ein abgedunkeltes #A8431F ist Akzenttext vorbehalten, mit 5.54:1 auf Creme. Formularränder bekamen einen eigenen Token mit 3.6:1, und das Verhältnis steht im Stylesheet direkt daneben.

Herausforderung

Reveal-on-Scroll-Animationen verstecken Inhalte standardmäßig. Fällt das Skript aus — oder läuft es nie —, ist die Seite leeres Papier.

Lösung

Der versteckte Zustand liegt hinter einer Klasse, die das Skript selbst hinzufügt. Kein Skript, keine Klasse, keine versteckten Inhalte: Die Seite rendert in ihrem ruhigen Endzustand und liest sich einwandfrei.

Herausforderung

Ein Parallax-Masthead ist der schnellste Weg, eine Restaurantseite billig wirken zu lassen — und der schnellste Weg, sie auf einem Mittelklasse-Smartphone stottern zu lassen.

Lösung

Ein einziges Transform, gesteuert über scrollY, mit einem Koeffizienten, der niedrig genug ist, um als Tiefe statt als Bewegung wahrgenommen zu werden — und unter prefers-reduced-motion komplett übersprungen wird.

07 · Was bleibt

Die Teile, die bleiben dürfen

Die Herbstkarte

Drei Gänge, gesetzt wie eine gedruckte Karte, Punktlinien inklusive — auf dem Smartphone fließt sie in eine einzelne, lesbare Spalte um, ohne die Preisausrichtung zu verlieren.

Aus dem Speisesaal

Ein Fotoraster, das seinen eigenen Rhythmus bricht — unterschiedliche Spannweiten, unterschiedliche Höhen —, sodass es sich wie eine Doppelseite liest, nicht wie ein Galerie-Widget.

Stimmen & Kritiken

Pressezitate als Pull-Quotes mit der Publikation in Kapitälchen — geliehen ist damit das eine typografische Mittel, das Restaurants sich wirklich verdienen.

Eine Reservierung, kein Funnel

Sechs Felder, Inline-Validierung, eine höfliche Live-Region für die Bestätigung, und der Fokus wandert dorthin — kein Modal, kein Upselling, kein Countdown.

08 · Live starten

Hier ausprobieren

Der echte Build, eingebettet und lauffähig. Er lädt erst auf Abruf — nichts wird geholt, bevor Sie es anfordern.

Live-Vorschau überspringen
Ember & Oak, wie es beim Laden erscheint

Der echte Build, direkt in der Seite. Die Live-Vorschau ist eine eingebettete Seite; mit Escape verlassen Sie sie.

Im Vollbild öffnen ↗