← Back to work

HelloFresh · Design Systems & Accessibility · 2025–2026

Product Card Accessibility.

Designing HelloFresh's first accessible, multi-brand product card. WCAG 2.1 AA, OOUX, and a 50-variant component library.

Role Product Designer, Design Systems & Accessibility Timeline Q2 2025, ongoing Scope iOS, Android, Factor across 7 markets Stage Design, Development, Deployment

Product card accessibility annotations showing ARIA labels, alt text, and reading order

01 · The challenge

A core component, two product worlds.

This work was part of a larger store UI update to improve browsability for a growing assortment. The existing product card had grown unwieldy. New elements added over the years without revisiting the layout left it with inconsistent aesthetics and a height that required scrolling to see a single card on smaller devices.

As the core component of the store, where every meal added to an order starts, it needed a redesign. The company was consolidating its brand platforms, meaning all new components had to work across brands from the start. This was the first release to span both mealkit and ready-to-eat, each with fundamentally different product attributes.

02 · My role

Picked up mid-project, with the right context.

I replaced another designer mid-project, picking up after usability testing had already validated a horizontal card layout over a grid layout.

I was brought in because of my previous work on the checkout, where I'd redesigned cart line items to surface product card attributes. That work gave me deep familiarity with the meal selection variants and which information best helped customers make decisions.

I partnered with the Design System team to create a modular, accessible product card using Object-Oriented UX principles, ensuring the component met design system standards and could be maintained long-term. This was HelloFresh's first design-led accessibility implementation, and I ran knowledge-sharing sessions so the team could replicate the approach on future projects.

Prototype A · horizontal Prototype B · grid

Usability testing results comparing horizontal card layout (Prototype A) versus grid layout (Prototype B)
Usability testing validated the horizontal layout before I joined.

03 · Object-Oriented UX

Different products, different attributes.

Previously, multi-brand components only needed to work across mealkit brands, which share the same product attributes. Factor (Ready-to-Eat) changed everything.

Mealkit products

  • Cooking time and prep time
  • Recipe steps and ingredients
  • Serving size customisation
  • Spice level indicators
  • Dietary tags (vegetarian, gluten-free)

Ready-to-Eat products

  • No cooking required
  • Protein and calorie focus
  • Different dietary attributes
  • Subscription add-on options
  • Bulk buy variations

To solve this complexity, I used Object-Oriented UX to map all product types and their attributes.

Object mapping

Identifying all product types (meals, add-ons, subscriptions) and their relationships.

Attribute prioritisation

Aligning with product on Jobs to be Done to determine what information is essential versus optional.

Modular design

A component architecture that flexes based on content type.

Object mapping · Meals and add-ons

OOUX object mapping showing meal cards and add-on cards with their attributes

Attribute prioritisation · JTBD alignment

Attribute prioritization matrix showing JTBD alignment

04 · Accessibility, by design

EAA on the calendar, design at the centre.

The European Accessibility Act (EAA), Directive (EU) 2019/882, became fully applicable on June 28, 2025. Our designs had to meet WCAG 2.1 AA standards. The deadline shaped the project timeline and made accessibility a core requirement from the start.

To understand what this meant in practice, I audited the existing meal selection experience using VoiceOver on my iPhone and MacBook. Learning the gestures and keyboard controls helped me grasp the gap between the visible UI and how screen readers actually interpret elements. It was eye-opening, and shaped every decision that followed.

Screen readers don't follow visual layout. They read elements in the order they appear in the code. Without deliberate structuring, this may not match the order users actually need. I used the OOUX attribute prioritisation to define reading order, ensuring screen reader users received information in the same hierarchy as sighted users. Product name first, then key attributes, then price.

WCAG requires content to work at 200% text size, and device analytics showed users browse on screens as small as 360px. Rather than truncating text, which cuts off meaning for users who need larger text or smaller devices, I defined character limits for every element and benchmarked Lieferando's approach of switching to vertical layouts at larger sizes.

Alt-text and ARIA labels aren't just technical metadata. They're the entire experience for screen reader users. I collaborated with UX Writing to ensure labels conveyed meaning, not just described elements. "Select Chicken Teriyaki", not "Button".

Product card accessibility annotations showing alt-text, ARIA labels, and reading order
Annotations covering alt-text, ARIA labels, focus, and reading order.

05 · The component library

A modular system with 50+ variants.

The final component is a modular system covering every state and brand configuration. One source of truth for both mealkit and ready-to-eat surfaces.

Product card component showing all variants across states and brands
The complete product card library. 50+ variants across states, brands, and product types.

06 · Knowledge sharing

A repeatable process for the team.

I presented my process and recommendations to the UX design and research team, covering VoiceOver testing, annotation workflows, and WCAG requirements. I followed up with one-on-one mentoring sessions to help designers apply accessible design practices to their own projects.

200% text resizing

Slide from accessibility presentation showing the 200% text resizing rule with a mobile app example

Quiz · Global disability stat

Slide from accessibility presentation with quiz about the percentage of people globally with a significant disability

07 · Shipping

Factor live in 7 markets, HelloFresh in iteration.

  • 50+

    Component variants across brands and states

  • 7

    Markets live on FactorUS, CA, DE, NL, BE, SE, DK

  • 2

    Brand platforms (Mealkit, Ready-to-Eat)

  • Q2 '26

    Next HelloFresh experiment planned

In Q4 2025, the product card component launched on Factor across seven markets. We rolled out without an experiment because Factor's outdated UI could no longer support new features. Updating it was a prerequisite for planned platform improvements.

In Q1 2026, we A/B tested the new card on HelloFresh. Mixed results led us to iterate. We rolled back with a plan to re-test. I'm currently working on the next iteration, with a new experiment planned for Q2 2026.

08 · Reflections

What I'd take into the next round.

What worked

  • OOUX enables accessibility. The attribute prioritisation I did for UX design directly informed the reading order and focus order for screen readers. Good IA supports both visual and non-visual users.
  • Process documentation matters. By documenting the accessibility workflow, I created a repeatable process for the team. The presentation has been referenced on subsequent projects.

What I'd do differently

  • Experiment insights are valuable even when rolled back. The HelloFresh experiment showed that information density matters more than we assumed. Users need dietary tags and descriptions to evaluate products. They can't make decisions without them.
  • That validated the OOUX prioritisation and is informing the next iteration. I'd protect the density signal earlier next time, even at the cost of visual restraint.