top of page
OTSheaderimage.png

Accessibility at Scale:

Redesigning a Legacy PDF Tool

Miro-Logo-1536x864_edited.png
images.jpeg
Confluence-Emblem_edited.png
generate-ai-symbols-artificial-intellige
images.png
images (2).png

Modernizing a legacy batch-processing tool into a scalable, accessible workflow for enterprise users.

​Summary

 

Enterprise users relied on a legacy PDF accessibility tool to process large batches of documents, but fragmented workflows, poor system feedback, and accessibility gaps made the experience inefficient and difficult to use.

 

This project focused on redesigning the tool into a structured, accessible workflow.- improving clarity, reducing errors, and enabling users to process files at scale with greater confidence and efficiency.

The Problem


The legacy tool had evolved over time without a cohesive UX strategy, resulting in:

  • Complex, fragmented workflows for batch processing

  • Poor visibility into file status and errors

  • Limited keyboard navigation and inconsistent focus states

  • Accessibility gaps for screen readers and assistive technologies

  • High cognitive load for both new and experienced users

 

These issues led to slow task completion, frequent errors, and reliance on workarounds or support.​​

Before:

Output Transformation Server - before redesign

Role: Lead UX Designer
Owned end-to-end design, including workflow redesign, accessibility strategy, prototyping, and collaboration with engineering. Leveraged and extended the design system to support complex workflows, ensuring consistency, accessibility, and scalability across the experience.

 

Constraints

 

  • Maintain feature parity with the legacy system

  • Support high-volume batch processing workflows

  • Align with accessibility standards (WCAG)

  • Transition toward a cloud-based architecture

  • Minimize disruption for existing users

My Approach

AI-Assisted Audit & Workflow Mapping

 

I used a combination of AI Tools to accelerate:

  • User interview scripts

  • UI audits (identifying gaps in navigation, structure, and interaction patterns)

  • Edge case generation for features

  • User story creation

  • Error state discovery

  • Initial task flow mapping

  • React prototypes

This allowed for rapid identification of problem areas across a complex system.

To begin, I created a script for our interviews utilizing Gemini, then we spoke to users at a variety of client locations using a script created by my custom Claude Agent. Recording these sessions and then feeding them into Dovetail allowed me to utilize Dovetail AI to extract insights and pain points, then share these with the team.

I used Replit for heuristic evaluation, React/HTML/CSS prototype creation, technical feasibility checks and error state design, and then tested with users in A/B test sessions, Lyssna projects and usability sessions with our end users. 

The user feedback combined with the team input gave us confidence in our solution which was shipped in 3 releases over 12 sprints.

The end result was an AI enabled team which was able to work 50% faster, 100% feature parity in the new platform, 80% reduced visual clutter, 30% increase in user satisfaction (I have confidence this number will increase as users migrate to the Cloud) and 80% design system compliance (we needed to create a couple of new components that were added to the design system) - a win for brand integrity and reduced technical debt.
​​​

Users & Context

1

Compliance Teams

Compliance teams preparing accessible documents at scale

Needs: Clarity and feedback (file status, errors)

2

Enterprise Users

Enterprise users processing large batches of files

Needs: Speed and efficiency (batch workflows)

3

Assistive Tech Users

Users with accessibility needs relying on keyboard navigation and screen readers

Needs: Predictable, accessible interactions

Overcoming Roadblocks

  • Bridging the Design-Engineering Gap
    The engineering team was not accustomed to working closely with a Lead UX Designer. Initially, there was a disconnect regarding hand-off expectations and the "why" behind certain UX decisions.
    The Solution: I shifted from just delivering files to a collaborative "open-door" approach. I held weekly syncs to walk through Figma prototypes and the analysis of new user interviews to explain the design rationale, which turned skepticism into partnership.
     

  • Addition of AI Tools
    The engineering team had been working on the product for a very long time - their descriptions of what needed to happen were difficult to follow and they weren't sure how to describe how the features worked in the desktop version of the app.
    The Solution: Using Claude to vibe code ideas while in brainstorming sessions helped get us all on the same page accelerating discovery.
     

  • The Keyboard Navigation Debate
    I faced significant pushback from front-end engineers on keyboard navigation. While my goal was to ensure W3C compliance, the team was concerned about deviating from the established learned behaviour.
    The Resolution: Together, we reviewed the W3C guidelines for keyboard navigation, updating the existing product. This increased the product's accessibility. The Figma handoff included "pixel-perfection, error states, and accessibility guidelines.
     

  • The Primary Persona
    Early in the project, I disagreed with the Product Manager regarding the primary persona. I advocated for a broader range of user types, while the PM insisted on a narrower focus on "The Technical Compliance User."
    The Outcome: After conducting user interviews, it became clear the PM was right. The specific needs of technical compliance users drove the bulk of the tool’s value. Acknowledging this early allowed us to pivot our focus toward high-density data views and batch-processing features that mattered most to that group.
     

  • Pivoting the Toolbar Design
    Midway through the prototyping phase, I realized my initial toolbar design was adding too much cognitive load. It was packed with features that looked good in a vacuum but cluttered the workspace in practice.
    The Change: I made the difficult decision to scrap the design and restart. I moved secondary functions into a "hidden until needed" state (progressive disclosure), which ultimately led to the 78% reduction in visual clutter noted in the final outcomes.

 

Technical Collaboration

I worked closely with engineering to ensure:

  • Interaction patterns aligned with front-end architecture

  • Accessibility requirements were implemented using semantic HTML and ARIA roles

  • Designs were production-ready and scalable

 

My understanding of front-end code allowed me to validate feasibility early and reduce iteration cycles during development. This was also very helpful in using Replit and Claude to create working prototypes I could share with the engineering team. This tool alone saved us 35% of our time in each sprint.

Before & After

OTS file import - before
OTS file import - redesigned

After:

Unified workflow with clear stages

This stepper and it's rules were inserted into the design system

User gets real-time feedback on file status and progress

Structured Batch Workflow

Before:

Disconnected steps

No clear progress tracking

OTS document structure - old error messages
OTS document structure - new error messages

After:

Inline error messaging

Clear indication of which files failed and why

Actionable next steps

Error Handling & Feedback 

Before:

Errors surfaced late or unclearly

Voice and tone not user friendly

OTS document structure - legacy system

Before:

Dated UI and layout

Design not scalable for large data sets

Repetitive actions and hidden features

OTS document structure - redesign

After:

Table-based layouts optimized for batch processing

Filtering and sorting for large datasets

Bulk actions to reduce repetitive work

Scalable UI for High-Volume Tasks

OTS document structure - legacy flow

Before:

Limited and difficult to use

Non intuitive UI

Disconnected flow

OTS document structure - flow redesign

After:

Improved and modernized UI

Added scalability for large batch files and components

Cleaner interface

Improved Flow Diagrams

The Design

Mid-fidelity Prototype


I used Replit and instructed the AI to base decisions on our user interview data along with our design system guidelines to create mid-fidelity wireframes that we iterated on; user stories for feature creation and usability test plans. I adjusted my prompting to steer the design direction.

We used our prototypes to test the viability and feasibility of our solution. When we presented the prototype to key stakeholders, we were able to see whether the solution provided a viable business model and whether it was technically feasible to implement. These crucial factors determined our long-term success.

 

Our usability testing identified a few areas of confusion around the 2 step process of tag identification, as well as some visual clutter we could reduce by hiding some elements until they are actually needed by the user, based on what we knew from their work flows. ​Moving secondary functions to a "hidden until needed" state is a systemic rule that can be applied to any complex tool, not just the one we were building.

Hi-fidelity Figma Prototype
 

Final dev hand off was done in Figma, to pixel perfection including error states, accessibility guidelines and edge cases.

Final Designs

Outcomes

  • Reduced user errors during batch processing

  • Improved task completion confidence in usability testing

  • Faster identification and resolution of failed files

 

Achievements

 

  • Bridged the design-engineering gap by utilizing AI Tools to validate systemic component behaviour in real-time

  • Reduced friction in the user flow by 85%

  • Redesigned the interface, reducing visual clutter by 80%

  • Brought the platform into the Cloud with 100% feature parity

  • Increased user satisfaction in the tool by 30%

  • Reduced churn rate by 68%

  • Utilize the design system for 80% of the components

  • Improve self-serve success rate by 30%

  • Architected a reusable batch-processing framework that reduced visual clutter by 78% across the platform

Key Takeaways

  • Accessibility improvements benefit all users by increasing clarity and predictability

  • AI can accelerate discovery - but real user validation is critical for accuracy

  • Modernizing legacy systems requires balancing familiarity with meaningful change

  • Designing for scale means optimizing both interaction and system feedback

Reflection

Modernizing a legacy ecosystem requires shifting from "visual refresh" to systemic evolution.

 

By integrating AI as a force multiplier, I reclaimed 35% of sprint capacity typically lost to manual audits and used that time to secure 80% design system compliance and navigate complex stakeholder alignment. This approach allowed us to maintain 100% feature parity during a cloud migration while delivering a 68% reduction in churn.

 

Ultimately, this project proves that when AI handles the heavy lifting of execution, designers can focus on what truly drives business value: advocating for the user and architecting scalable, inclusive systems.

Let's build something together!


Feel free to reach out on LinkedIn

or email at m-aubin @ outlook.com

All content © Marlene Aubin 2026

bottom of page