UX/UI · Accessibility · WCAG 2.1 AA

MAKING TURKISH AIRLINES ACCESSIBLE FOR EVERYONE

A comprehensive WCAG 2.1 AA audit and redesign of the Turkish Airlines digital booking experience — identifying critical accessibility failures and delivering actionable, hirer-ready design solutions for a platform used by millions of passengers worldwide.

Client:

Turkish Airlines

Role:

UX Consultant

Duration:

2016 – ongoing

Platform:

Web · iOS · Android

01 - Context

ONE OF THE WORLD'S LARGEST AIRLINES, WITH AN ACCESSIBILITY GAP

Turkish Airlines serves over 340 destinations across 129 countries, with millions of passengers booking digitally every month. As a long-term UX consultant, I was brought in to evaluate and improve the quality of digital touchpoints - from the web booking flow to native iOS and Android apps.

During a routine UX review, I identified a pattern that went deeper than usability: the platform had significant WCAG 2.1 AA compliance failures across core booking flows. For an airline operating across the EU - where accessibility regulations for public digital services are increasingly enforced - this was both a user experience problem and a legal risk.

"15% of the world's population lives with some form of disability. For an airline serving 340 destinations, that's not an edge case - that's millions of passengers who couldn't fully use the product."

0+

0+

Destinations Worldwide

0M+

0M+

Monthly Digital Users

0

0

Critical WCAG failures found

02 - Key Challenges

What was failing - and for whom

The audit focused on the three most-used flows: flight search and selection, passenger details entry, and seat selection. These are the steps every passenger must complete - meaning accessibility failures here affect the broadest possible audience.

I evaluated each screen against WCAG 2.1 criteria across all four principles: Perceivable, Operable, Understandable, and Robust (POUR). Issues were prioritised by severity - Critical (blocks access entirely), Major (creates significant friction), and Minor (best practice improvements).

WCAG Criterion

Issue

Affects

Severity

1.4.3 Contrast (AA)

Body text on light grey backgrounds fails 4.5:1 ratio — as low as 2.8:1 in some fields

Low vision users

Critical

1.4.11 Non-text Contrast

Form field borders invisible against white background — no visual affordance for inputs

Low vision, cognitive

Critical

2.4.7 Focus Visible

Keyboard focus indicator removed via CSS on interactive elements including CTAs

Keyboard users, motor

Critical

1.3.1 Info & Relationships

Form labels not programmatically associated with inputs — screen readers read field blind

Screen reader users

Critical

3.3.1 Error Identification

Validation errors shown in red only — no icon or text description, relying on colour alone

Colour blind users

Major

2.5.3 Label in Name

Button accessible names don't match visible labels, breaking voice control navigation

Voice control users

Major

1.4.4 Resize Text

Text set in px breaks layout at 200% zoom — critical booking info becomes unreadable

Low vision users

Major

2.4.4 Link Purpose

Multiple "Read more" and "Select" links with identical accessible names on the same page

Screen reader users

Minor

03 - Process

From audit to actionable design

01

Heuristic & automated scan

Used Axe DevTools and WAVE to run an automated baseline scan across 12 key screens, capturing low-hanging failures. Automated tools catch ~30% of WCAG issues - the rest require manual evaluation and user judgment.

02

Manual keyboard & screen reader testing

Navigated the full booking flow using keyboard only (Tab, Enter, Arrow keys) and with VoiceOver on iOS and NVDA on Windows. Documented every point where the experience broke or became confusing without a mouse or vision.

03

Contrast & colour analysis

Checked every text/background combination against WCAG 1.4.3 (4.5:1 for body text, 3:1 for large text) and 1.4.11 (3:1 for UI components). Documented exact hex values and contrast ratios for each failure.

04

Prioritised findings report

Produced a structured findings report with each issue mapped to its WCAG criterion, severity, affected user group, and a clear remediation recommendation with visual examples - designed to be handed directly to developers.

05

Redesigned UI components in Figma

Delivered annotated Figma screens showing compliant versions of the most critical components: form fields, CTAs, error states, focus indicators, and the seat map. Each component included accessibility annotations for dev handoff.

04 - Key Findings

BEFORE & AFTER — BOOKING FORM

BEFORE & AFTER — BOOKING FORMA

The passenger details form was the single most problematic screen - 8 of the 23 critical failures appeared here. Below is a simplified mock-up of the key changes made to bring the form to WCAG 2.1 AA compliance.

CRITICAL ISSUES RESOLVED

1.4.3

Text contrast lifted from 2.8:1 → 7.2:1

Placeholder and label text was lightened to reduce visual noise - but crossed below the WCAG 4.5:1 minimum. Updated to #141410 on white, achieving AAA-level contrast without changing the brand palette.

Fixed

2.4.7

Focus indicators restored across all interactive elements

A single CSS rule (outline: none) had silently removed all keyboard focus visibility sitewide. Replaced with a 3px solid focus ring in the brand colour - visible, consistent, and non-intrusive.

Fixed

3.3.1

Error states now communicate through text + icon, not colour alone

Error messages relied entirely on red colour to signal failure. Added a warning icon (⚠) and descriptive text explaining what went wrong and how to fix it - meeting both 3.3.1 and 3.3.3.

Fixed

1.3.1

Form labels programmatically associated with inputs

Labels were visually positioned near inputs but had no for/id relationship - screen readers announced inputs as unlabelled. Added proper label associations and ARIA descriptions for all complex fields.

Fixed

05 — Real Screen Analysis

The current state — progress made, gaps remaining

The screenshot below shows the passenger information form after the first round of improvements were implemented by the development team. Several critical issues from the initial audit were addressed - but a detailed review reveals that accessibility work is rarely finished in one pass. There are still meaningful issues worth resolving.

What improved

Error state uses icon + text, not colour alone

The Surname field error now shows a ⚠ triangle icon alongside red text - addressing the original 3.3.1 failure. Colour-blind users can identify the error without relying on red alone.

Improved

Info alert uses icon + descriptive text

The blue info banner at the top combines an ℹ icon with explanatory text - meeting 1.3.3 (Sensory Characteristics) without relying on colour alone to convey meaning.

Improved

Radio button touch targets are adequate

The Mr/Ms radio buttons are visually large enough to meet the 44×44px minimum touch target size on mobile - a common failure on airline booking forms.

Improved

Accessibility isn't a feature you add at the end. It's the quality bar you set at the start - and hold through every decision, every component, every edge case.

06 — Outcomes

What changed - and what it meant

The audit report and redesigned components were delivered to the Turkish Airlines product and engineering teams with prioritised remediation guidance. Key outcomes across the engagement:

23 critical failures documented

Every issue mapped to its WCAG criterion, severity, affected user group, and specific remediation - ready for immediate developer action without further UX interpretation needed.

Minimum contrast lifted to AA across all core flows

The 6 contrast failures in the booking flow were resolved - improving readability for users with low vision, in bright outdoor environments, and on older screens.

Full keyboard navigation restored

The complete booking flow became navigable without a mouse - critical for users with motor impairments, power keyboard users, and compliance with EU accessibility directives.

Accessibility-annotated component library

Delivered reusable Figma components with built-in accessibility annotations - focus states, ARIA labels, colour tokens - creating a foundation for compliant design going forward.

07 - Learning

What this project taught me

01

Accessibility is a systems problem

Most failures weren't one-off mistakes - they were patterns baked into the design system. Fixing individual screens without fixing the component library just moves the problem.

02

Contrast ratios aren't obvious

Many designers don't intuitively know what 4.5:1 looks like. Building contrast checking directly into Figma design tokens eliminates the problem at the source.

03

Dev handoff is where it breaks

Beautiful accessible designs fail when developers don't know how to implement them. Accessibility annotations on Figma frames - not just visual specs - are essential for compliance that survives handoff.

More Projects

Design System - WCAG - Figma

Ecclesia - a design system built in 53 hours.

Germany's leading insurance group had no design system. No component library. No shared UI language.

Read More

AI Platform - Dashboard UX

DFKI — Designing for
the Amazon Rainforest.

Full UX redesign of DFKI's AI-based ecological monitoring platform used by scientists.

Read More

UX/UI · Accessibility · WCAG 2.1 AA

Esche Schümann - designing
for who question everything.

UX/UI redesign of Esche Schümann Commichau's digital presence delivered in 22 hours.

Read More

UX/UI · Accessibility · WCAG 2.1 AA

MAKING TURKISH AIRLINES ACCESSIBLE FOR EVERYONE

A comprehensive WCAG 2.1 AA audit and redesign of the Turkish Airlines digital booking experience — identifying critical accessibility failures and delivering actionable, hirer-ready design solutions for a platform used by millions of passengers worldwide.

Client:

Turkish Airlines

Role:

UX Consultant

Duration:

2016 – ongoing

Platform:

Web · iOS · Android

01 - Context

ONE OF THE WORLD'S LARGEST AIRLINES, WITH AN ACCESSIBILITY GAP

Turkish Airlines serves over 340 destinations across 129 countries, with millions of passengers booking digitally every month. As a long-term UX consultant, I was brought in to evaluate and improve the quality of digital touchpoints - from the web booking flow to native iOS and Android apps.

During a routine UX review, I identified a pattern that went deeper than usability: the platform had significant WCAG 2.1 AA compliance failures across core booking flows. For an airline operating across the EU - where accessibility regulations for public digital services are increasingly enforced - this was both a user experience problem and a legal risk.

"15% of the world's population lives with some form of disability. For an airline serving 340 destinations, that's not an edge case - that's millions of passengers who couldn't fully use the product."

0+

0+

Destinations Worldwide

0M+

0M+

Monthly Digital Users

0

0

Critical WCAG failures found

02 - Key Challenges

What was failing - and for whom

The audit focused on the three most-used flows: flight search and selection, passenger details entry, and seat selection. These are the steps every passenger must complete - meaning accessibility failures here affect the broadest possible audience.

I evaluated each screen against WCAG 2.1 criteria across all four principles: Perceivable, Operable, Understandable, and Robust (POUR). Issues were prioritised by severity - Critical (blocks access entirely), Major (creates significant friction), and Minor (best practice improvements).

WCAG Criterion

Issue

Affects

Severity

1.4.3 Contrast (AA)

Body text on light grey backgrounds fails 4.5:1 ratio — as low as 2.8:1 in some fields

Low vision users

Critical

1.4.11 Non-text Contrast

Form field borders invisible against white background — no visual affordance for inputs

Low vision, cognitive

Critical

2.4.7 Focus Visible

Keyboard focus indicator removed via CSS on interactive elements including CTAs

Keyboard users, motor

Critical

1.3.1 Info & Relationships

Form labels not programmatically associated with inputs — screen readers read field blind

Screen reader users

Critical

3.3.1 Error Identification

Validation errors shown in red only — no icon or text description, relying on colour alone

Colour blind users

Major

2.5.3 Label in Name

Button accessible names don't match visible labels, breaking voice control navigation

Voice control users

Major

1.4.4 Resize Text

Text set in px breaks layout at 200% zoom — critical booking info becomes unreadable

Low vision users

Major

2.4.4 Link Purpose

Multiple "Read more" and "Select" links with identical accessible names on the same page

Screen reader users

Minor

03 - Process

From audit to actionable design

01

Heuristic & automated scan

Used Axe DevTools and WAVE to run an automated baseline scan across 12 key screens, capturing low-hanging failures. Automated tools catch ~30% of WCAG issues - the rest require manual evaluation and user judgment.

02

Manual keyboard & screen reader testing

Navigated the full booking flow using keyboard only (Tab, Enter, Arrow keys) and with VoiceOver on iOS and NVDA on Windows. Documented every point where the experience broke or became confusing without a mouse or vision.

03

Contrast & colour analysis

Checked every text/background combination against WCAG 1.4.3 (4.5:1 for body text, 3:1 for large text) and 1.4.11 (3:1 for UI components). Documented exact hex values and contrast ratios for each failure.

04

Prioritised findings report

Produced a structured findings report with each issue mapped to its WCAG criterion, severity, affected user group, and a clear remediation recommendation with visual examples - designed to be handed directly to developers.

05

Redesigned UI components in Figma

Delivered annotated Figma screens showing compliant versions of the most critical components: form fields, CTAs, error states, focus indicators, and the seat map. Each component included accessibility annotations for dev handoff.

04 - Key Findings

BEFORE & AFTER — BOOKING FORM

BEFORE & AFTER — BOOKING FORMA

The passenger details form was the single most problematic screen - 8 of the 23 critical failures appeared here. Below is a simplified mock-up of the key changes made to bring the form to WCAG 2.1 AA compliance.

CRITICAL ISSUES RESOLVED

1.4.3

Text contrast lifted from 2.8:1 → 7.2:1

Placeholder and label text was lightened to reduce visual noise - but crossed below the WCAG 4.5:1 minimum. Updated to #141410 on white, achieving AAA-level contrast without changing the brand palette.

Fixed

2.4.7

Focus indicators restored across all interactive elements

A single CSS rule (outline: none) had silently removed all keyboard focus visibility sitewide. Replaced with a 3px solid focus ring in the brand colour - visible, consistent, and non-intrusive.

Fixed

3.3.1

Error states now communicate through text + icon, not colour alone

Error messages relied entirely on red colour to signal failure. Added a warning icon (⚠) and descriptive text explaining what went wrong and how to fix it - meeting both 3.3.1 and 3.3.3.

Fixed

1.3.1

Form labels programmatically associated with inputs

Labels were visually positioned near inputs but had no for/id relationship - screen readers announced inputs as unlabelled. Added proper label associations and ARIA descriptions for all complex fields.

Fixed

05 — Real Screen Analysis

The current state — progress made, gaps remaining

The screenshot below shows the passenger information form after the first round of improvements were implemented by the development team. Several critical issues from the initial audit were addressed - but a detailed review reveals that accessibility work is rarely finished in one pass. There are still meaningful issues worth resolving.

What improved

Error state uses icon + text, not colour alone

The Surname field error now shows a ⚠ triangle icon alongside red text - addressing the original 3.3.1 failure. Colour-blind users can identify the error without relying on red alone.

Improved

Info alert uses icon + descriptive text

The blue info banner at the top combines an ℹ icon with explanatory text - meeting 1.3.3 (Sensory Characteristics) without relying on colour alone to convey meaning.

Improved

Radio button touch targets are adequate

The Mr/Ms radio buttons are visually large enough to meet the 44×44px minimum touch target size on mobile - a common failure on airline booking forms.

Improved

Accessibility isn't a feature you add at the end. It's the quality bar you set at the start - and hold through every decision, every component, every edge case.

06 — Outcomes

What changed - and what it meant

The audit report and redesigned components were delivered to the Turkish Airlines product and engineering teams with prioritised remediation guidance. Key outcomes across the engagement:

23 critical failures documented

Every issue mapped to its WCAG criterion, severity, affected user group, and specific remediation - ready for immediate developer action without further UX interpretation needed.

Minimum contrast lifted to AA across all core flows

The 6 contrast failures in the booking flow were resolved - improving readability for users with low vision, in bright outdoor environments, and on older screens.

Full keyboard navigation restored

The complete booking flow became navigable without a mouse - critical for users with motor impairments, power keyboard users, and compliance with EU accessibility directives.

Accessibility-annotated component library

Delivered reusable Figma components with built-in accessibility annotations - focus states, ARIA labels, colour tokens - creating a foundation for compliant design going forward.

07 - Learning

What this project taught me

01

Accessibility is a systems problem

Most failures weren't one-off mistakes - they were patterns baked into the design system. Fixing individual screens without fixing the component library just moves the problem.

02

Contrast ratios aren't obvious

Many designers don't intuitively know what 4.5:1 looks like. Building contrast checking directly into Figma design tokens eliminates the problem at the source.

03

Dev handoff is where it breaks

Beautiful accessible designs fail when developers don't know how to implement them. Accessibility annotations on Figma frames - not just visual specs - are essential for compliance that survives handoff.

More Projects

Design System - WCAG - Figma

Ecclesia - a design system built in 53 hours.

Germany's leading insurance group had no design system. No component library. No shared UI language.

Read More

AI Platform - Dashboard UX

DFKI — Designing for
the Amazon Rainforest.

Full UX redesign of DFKI's AI-based ecological monitoring platform used by scientists.

Read More

UX/UI · Accessibility · WCAG 2.1 AA

Esche Schümann - designing
for who question everything.

UX/UI redesign of Esche Schümann Commichau's digital presence delivered in 22 hours.

Read More

UX/UI · Accessibility · WCAG 2.1 AA

MAKING TURKISH AIRLINES ACCESSIBLE FOR EVERYONE

A comprehensive WCAG 2.1 AA audit and redesign of the Turkish Airlines digital booking experience — identifying critical accessibility failures and delivering actionable, hirer-ready design solutions for a platform used by millions of passengers worldwide.

Client:

Turkish Airlines

Role:

UX Consultant

Duration:

2016 – ongoing

Platform:

Web · iOS · Android

01 - Context

ONE OF THE WORLD'S LARGEST AIRLINES, WITH AN ACCESSIBILITY GAP

Turkish Airlines serves over 340 destinations across 129 countries, with millions of passengers booking digitally every month. As a long-term UX consultant, I was brought in to evaluate and improve the quality of digital touchpoints - from the web booking flow to native iOS and Android apps.

During a routine UX review, I identified a pattern that went deeper than usability: the platform had significant WCAG 2.1 AA compliance failures across core booking flows. For an airline operating across the EU - where accessibility regulations for public digital services are increasingly enforced - this was both a user experience problem and a legal risk.

"15% of the world's population lives with some form of disability. For an airline serving 340 destinations, that's not an edge case - that's millions of passengers who couldn't fully use the product."

0+

0+

Destinations Worldwide

0M+

0M+

Monthly Digital Users

0

0

Critical WCAG failures found

02 - Key Challenges

What was failing - and for whom

The audit focused on the three most-used flows: flight search and selection, passenger details entry, and seat selection. These are the steps every passenger must complete - meaning accessibility failures here affect the broadest possible audience.

I evaluated each screen against WCAG 2.1 criteria across all four principles: Perceivable, Operable, Understandable, and Robust (POUR). Issues were prioritised by severity - Critical (blocks access entirely), Major (creates significant friction), and Minor (best practice improvements).

WCAG Criterion

Issue

Affects

Severity

1.4.3 Contrast (AA)

Body text on light grey backgrounds fails 4.5:1 ratio — as low as 2.8:1 in some fields

Low vision users

Critical

1.4.11 Non-text Contrast

Form field borders invisible against white background — no visual affordance for inputs

Low vision, cognitive

Critical

2.4.7 Focus Visible

Keyboard focus indicator removed via CSS on interactive elements including CTAs

Keyboard users, motor

Critical

1.3.1 Info & Relationships

Form labels not programmatically associated with inputs — screen readers read field blind

Screen reader users

Critical

3.3.1 Error Identification

Validation errors shown in red only — no icon or text description, relying on colour alone

Colour blind users

Major

2.5.3 Label in Name

Button accessible names don't match visible labels, breaking voice control navigation

Voice control users

Major

1.4.4 Resize Text

Text set in px breaks layout at 200% zoom — critical booking info becomes unreadable

Low vision users

Major

2.4.4 Link Purpose

Multiple "Read more" and "Select" links with identical accessible names on the same page

Screen reader users

Minor

03 - Process

From audit to actionable design

01

Heuristic & automated scan

Used Axe DevTools and WAVE to run an automated baseline scan across 12 key screens, capturing low-hanging failures. Automated tools catch ~30% of WCAG issues - the rest require manual evaluation and user judgment.

02

Manual keyboard & screen reader testing

Navigated the full booking flow using keyboard only (Tab, Enter, Arrow keys) and with VoiceOver on iOS and NVDA on Windows. Documented every point where the experience broke or became confusing without a mouse or vision.

03

Contrast & colour analysis

Checked every text/background combination against WCAG 1.4.3 (4.5:1 for body text, 3:1 for large text) and 1.4.11 (3:1 for UI components). Documented exact hex values and contrast ratios for each failure.

04

Prioritised findings report

Produced a structured findings report with each issue mapped to its WCAG criterion, severity, affected user group, and a clear remediation recommendation with visual examples - designed to be handed directly to developers.

05

Redesigned UI components in Figma

Delivered annotated Figma screens showing compliant versions of the most critical components: form fields, CTAs, error states, focus indicators, and the seat map. Each component included accessibility annotations for dev handoff.

04 - Key Findings

BEFORE & AFTER — BOOKING FORM

BEFORE & AFTER — BOOKING FORMA

The passenger details form was the single most problematic screen - 8 of the 23 critical failures appeared here. Below is a simplified mock-up of the key changes made to bring the form to WCAG 2.1 AA compliance.

CRITICAL ISSUES RESOLVED

1.4.3

Text contrast lifted from 2.8:1 → 7.2:1

Placeholder and label text was lightened to reduce visual noise - but crossed below the WCAG 4.5:1 minimum. Updated to #141410 on white, achieving AAA-level contrast without changing the brand palette.

Fixed

2.4.7

Focus indicators restored across all interactive elements

A single CSS rule (outline: none) had silently removed all keyboard focus visibility sitewide. Replaced with a 3px solid focus ring in the brand colour - visible, consistent, and non-intrusive.

Fixed

3.3.1

Error states now communicate through text + icon, not colour alone

Error messages relied entirely on red colour to signal failure. Added a warning icon (⚠) and descriptive text explaining what went wrong and how to fix it - meeting both 3.3.1 and 3.3.3.

Fixed

1.3.1

Form labels programmatically associated with inputs

Labels were visually positioned near inputs but had no for/id relationship - screen readers announced inputs as unlabelled. Added proper label associations and ARIA descriptions for all complex fields.

Fixed

05 — Real Screen Analysis

The current state — progress made, gaps remaining

The screenshot below shows the passenger information form after the first round of improvements were implemented by the development team. Several critical issues from the initial audit were addressed - but a detailed review reveals that accessibility work is rarely finished in one pass. There are still meaningful issues worth resolving.

What improved

Error state uses icon + text, not colour alone

The Surname field error now shows a ⚠ triangle icon alongside red text - addressing the original 3.3.1 failure. Colour-blind users can identify the error without relying on red alone.

Improved

Info alert uses icon + descriptive text

The blue info banner at the top combines an ℹ icon with explanatory text - meeting 1.3.3 (Sensory Characteristics) without relying on colour alone to convey meaning.

Improved

Radio button touch targets are adequate

The Mr/Ms radio buttons are visually large enough to meet the 44×44px minimum touch target size on mobile - a common failure on airline booking forms.

Improved

Accessibility isn't a feature you add at the end. It's the quality bar you set at the start - and hold through every decision, every component, every edge case.

06 — Outcomes

What changed - and what it meant

The audit report and redesigned components were delivered to the Turkish Airlines product and engineering teams with prioritised remediation guidance. Key outcomes across the engagement:

23 critical failures documented

Every issue mapped to its WCAG criterion, severity, affected user group, and specific remediation - ready for immediate developer action without further UX interpretation needed.

Minimum contrast lifted to AA across all core flows

The 6 contrast failures in the booking flow were resolved - improving readability for users with low vision, in bright outdoor environments, and on older screens.

Full keyboard navigation restored

The complete booking flow became navigable without a mouse - critical for users with motor impairments, power keyboard users, and compliance with EU accessibility directives.

Accessibility-annotated component library

Delivered reusable Figma components with built-in accessibility annotations - focus states, ARIA labels, colour tokens - creating a foundation for compliant design going forward.

07 - Learning

What this project taught me

01

Accessibility is a systems problem

Most failures weren't one-off mistakes - they were patterns baked into the design system. Fixing individual screens without fixing the component library just moves the problem.

02

Contrast ratios aren't obvious

Many designers don't intuitively know what 4.5:1 looks like. Building contrast checking directly into Figma design tokens eliminates the problem at the source.

03

Dev handoff is where it breaks

Beautiful accessible designs fail when developers don't know how to implement them. Accessibility annotations on Figma frames - not just visual specs - are essential for compliance that survives handoff.

More Projects

Design System - WCAG - Figma

Ecclesia - a design system built in 53 hours.

Germany's leading insurance group had no design system. No component library. No shared UI language.

Read More

AI Platform - Dashboard UX

DFKI — Designing for
the Amazon Rainforest.

Full UX redesign of DFKI's AI-based ecological monitoring platform used by scientists.

Read More

UX/UI · Accessibility · WCAG 2.1 AA

Esche Schümann - designing
for who question everything.

UX/UI redesign of Esche Schümann Commichau's digital presence delivered in 22 hours.

Read More