Case studies and Mini Project on Web App Development

Chapter 5
User Experience, Interface Design and Accessibility

Diploma in Full Stack Programming
Case studies and Mini Project on Web App Development   •   Diploma

User Experience, Interface Design and Accessibility

Introduction

Web application development is not complete when pages render and database operations succeed. A useful application must also be understandable, efficient, inclusive and satisfying to use. User experience (UX) concerns the complete experience people have with a product, including their goals, expectations, emotions and interactions. User interface (UI) design concerns the visible and interactive means through which that experience is delivered.

For a full-stack developer, UX and UI are not only the responsibilities of a specialist designer. Developers make important decisions about navigation, form structure, feedback, keyboard operation, responsive behaviour, error handling and semantic HTML. Poor decisions can make technically correct software difficult or impossible to use. This chapter presents a practical design process for developing information architecture, user journeys, wireframes, prototypes and responsive interfaces while applying usability heuristics, design systems, WCAG accessibility principles and inclusive design.

Learning Objectives

By the end of this chapter, a learner should be able to:

  • explain the relationship between UX, UI, usability and accessibility;
  • develop an information architecture for a small web application;
  • model user journeys and identify pain points;
  • create and evaluate wireframes and prototypes;
  • apply usability heuristics to interface decisions;
  • construct a small, consistent design system;
  • design mobile-first responsive interfaces;
  • apply WCAG principles and inclusive-design practices;
  • evaluate a design through inspection, testing and iteration.

1. UX, UI and Usability

User experience is the perceived quality of a user's interaction with a product before, during and after use. It includes utility (whether the product supports a real need), usability (whether it can be used effectively), desirability, accessibility, credibility and emotional response.

User interface is the set of visual and interactive elements through which users operate a system. It includes layout, typography, colour, buttons, links, controls, forms, menus, status messages and responsive behaviour.

Usability is the extent to which specified users can achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use. These terms must be distinguished. An attractive interface may be unusable; a usable interface may still be inaccessible to people with disabilities; and an accessible interface may fail to support the user's actual task.

A useful design question is not “What features can we build?” but “What outcome is the user trying to achieve, and what is the simplest reliable path to that outcome?”

Human-centred design

Human-centred design treats users, their tasks and their contexts as central evidence for design decisions. A common iterative cycle is:

  1. understand users and the problem context;
  2. define requirements and success criteria;
  3. generate alternative solutions;
  4. create prototypes;
  5. evaluate with users and inspection methods;
  6. refine and repeat.

This process does not imply that every decision must wait for extensive research. In a diploma project, a developer can conduct short interviews, observe representative tasks, review support requests, and test early sketches with a small number of participants. The essential principle is to validate assumptions rather than treating the development team's preferences as user requirements.

2. Information Architecture

Information architecture (IA) is the organisation, labelling and structure of information and functionality so that users can find, understand and use it. It applies to navigation menus, page hierarchy, search, content categories, headings and relationships between screens.

IA components

  • Content inventory: a list of pages, records, media and actions.
  • Taxonomy: the classification system used to group content.
  • Labelling: names used for navigation items, buttons and categories.
  • Hierarchy: relationships between broad areas and detailed pages.
  • Navigation model: the paths users follow through the application.
  • Search and filtering: mechanisms for locating items when browsing is inefficient.

A small application should usually have a clear primary navigation, a stable location for account controls and a visible indication of the user's current location. Labels should use the user's language. For example, “Applications” may be clearer than “Workflow Assets” if users are looking for jobs or forms.

Designing IA for a web application

Begin with a content and task inventory. List what the system contains and what users must do. Group related items, identify duplicates and decide which items belong together from the user's perspective. Card sorting—asking representative users to group labelled items—can help test category names. Tree testing can then assess whether users can locate an item in the proposed hierarchy.

Avoid making the navigation mirror the database schema. A database may separate Customer, Order and OrderStatus tables, while a user may simply need “Track my order.” The interface should reflect user goals rather than internal implementation.

Information architecture from user goal to pages and actions User goal“Track an order” SectionOrders Order listBrowse and filter Order detailStatus and history ActionContact support
Information architecture from user goal to pages and actions
Figure: Information architecture from user goal to pages and actions

Figure: A user-goal-oriented information architecture connecting sections, pages and actions.

3. User Journeys and Task Flows

A user journey describes the stages a person passes through while achieving a broader goal. It may include awareness, entry, task completion and follow-up. A task flow is narrower: it describes the ordered steps for one task, including decisions and system responses.

For each journey, document:

  • the user and their context;
  • the goal and trigger;
  • actions performed;
  • information needed at each stage;
  • system feedback;
  • emotions, uncertainty and possible failure points;
  • the desired outcome and success measure.

A journey map should include the whole experience, not merely screen clicks. For example, a student submitting an assignment may first receive a deadline notification, locate the module, upload a file, confirm that it was accepted and later need proof of submission. Designing only the upload screen overlooks the confirmation and recovery needs.

Example task flow

For a library-book renewal application:

  1. The user opens “My loans.”
  2. The system displays current loans and renewal eligibility.
  3. The user selects “Renew.”
  4. The system checks availability and policy rules.
  5. The system displays success with the new due date, or explains why renewal is unavailable.
  6. The user can return to the loan list or obtain help.

The flow must include alternate and error paths. If a session expires, the user should be told what happened and how to continue. If renewal fails because another user has reserved the book, the message should state the reason and offer a relevant next action.

4. Wireframes and Prototypes

A wireframe is a simplified representation of page structure and content priority. Low-fidelity wireframes use boxes, headings and annotations rather than polished visual styling. They are inexpensive to change and useful for testing hierarchy, navigation and task flow.

A prototype is an interactive representation of a proposed experience. It may be a paper sequence, clickable design file or partially implemented web page. A prototype is not necessarily production software; its purpose is to answer design questions.

Fidelity and appropriate use

FidelityMain characteristicsAppropriate question
LowSketches, labels, rough layoutIs the task structure logical?
MediumRealistic content and interaction statesCan users navigate and complete the flow?
HighVisual styling, responsive states and detailed controlsDoes the near-final interface work and communicate correctly?

Annotate wireframes with states such as loading, empty, error, disabled and success. A form that has only a “normal” state is incomplete. Content should also be realistic: a short placeholder may hide wrapping, truncation and scanning problems.

Prototype evaluation should assign users a task rather than explaining every click. Observe where they hesitate, misinterpret a label, overlook feedback or choose an incorrect control. Record evidence, not merely opinions. For example, “three of five participants searched under Account for invoices” is more useful than “the menu felt confusing.”

5. Usability Heuristics

Heuristic evaluation is an expert inspection against recognised usability principles. Nielsen's widely used heuristics can be applied as follows:

  1. Visibility of system status: show progress, saved state, processing and results.
  2. Match between system and real world: use familiar language and meaningful order.
  3. User control and freedom: provide cancel, undo, back and exit options where appropriate.
  4. Consistency and standards: similar controls should behave and look similarly.
  5. Error prevention: constrain invalid input and confirm destructive actions.
  6. Recognition rather than recall: expose choices and instructions instead of requiring memory.
  7. Flexibility and efficiency: support shortcuts for experienced users without confusing beginners.
  8. Aesthetic and minimalist design: remove irrelevant information, not necessary context.
  9. Help users recognise and recover from errors: explain the problem and the remedy.
  10. Help and documentation: provide searchable, task-relevant guidance when needed.

Heuristic evaluation is efficient but not a replacement for user testing. Experts may miss domain-specific misunderstandings, and a violation is not automatically a defect: a confirmation step may be appropriate for a destructive action even though it adds time.

6. Design Systems and Interface Patterns

A design system is a coordinated collection of design principles, tokens, components, patterns, content guidance and implementation rules. It improves consistency and reduces duplicated work.

Typical design tokens include:

  • colour roles, such as surface, text, border, accent and danger;
  • typography scale, weight, line height and spacing;
  • border radius, elevation and focus treatment;
  • breakpoints and layout constraints;
  • interaction states: default, hover, focus, active, disabled, loading and error.

Components should be defined by purpose and behaviour, not only appearance. A button submits or performs an action; a link navigates. A clickable div may look like a button but normally lacks keyboard behaviour, focus semantics and assistive-technology information. Native HTML elements should therefore be preferred before custom widgets.

A component specification should state its content, permitted use, states, keyboard interaction, accessible name, error behaviour and responsive rules. This makes design decisions transferable between designers and developers.

7. Mobile-First and Responsive Interface Design

Mobile-first design begins with the smallest practical layout and progressively enhances it for larger screens. This approach prioritises essential content, exposes constraints early and often produces simpler interfaces. It does not mean designing only for phones; it means designing a robust content and interaction foundation.

Responsive design combines fluid layout, flexible media, readable typography and breakpoint-based changes. Breakpoints should be selected when the content no longer fits or the interaction becomes uncomfortable, rather than copied mechanically from device brands.

Important practices include:

  • use a content hierarchy that remains meaningful when columns collapse;
  • keep touch targets sufficiently large and separated;
  • avoid requiring horizontal scrolling for ordinary content;
  • preserve keyboard and screen-reader order when visual layout changes;
  • test zoom, reflow, orientation and slow connections;
  • ensure tables, menus and dialogs have usable small-screen alternatives.

CSS media queries should enhance rather than conceal content. A navigation menu that becomes an icon on a small screen must still provide an accessible name, focus behaviour and a clear open/close state.

8. Accessibility and Inclusive Design

Accessibility means that people with disabilities can perceive, operate, understand and robustly use a product. Inclusive design aims more broadly to accommodate differences in ability, language, culture, age, technology, environment and situation. Examples of situational limitations include bright sunlight, one-handed use, poor connectivity and noisy surroundings.

The Web Content Accessibility Guidelines (WCAG) organise accessibility around four principles:

  • Perceivable: information and controls are available through more than one sensory channel where necessary.
  • Operable: users can operate controls through available input methods, including keyboard.
  • Understandable: content and behaviour are predictable, readable and recoverable.
  • Robust: content works with browsers, assistive technologies and future implementations.

WCAG conformance levels are A, AA and AAA. In many organisational contexts, AA is the practical target, but the applicable legal or procurement requirements must be checked rather than assumed. WCAG success criteria are testable requirements, not a guarantee of excellent UX.

Practical accessibility requirements

  • Use semantic landmarks and headings in a logical hierarchy.
  • Associate labels with form controls and identify required fields.
  • Provide text alternatives for meaningful images; mark decorative images appropriately.
  • Do not communicate information by colour alone.
  • Ensure sufficient text and control contrast; verify the current WCAG requirement for the content type and size.
  • Make all functionality available by keyboard, with a visible focus indicator.
  • Keep focus order logical and manage focus in dialogs and dynamic updates.
  • Provide descriptive link text and accessible names for controls.
  • Use captions and transcripts for multimedia where relevant.
  • Give specific, nearby error messages and preserve entered data when possible.
  • Support zoom and reflow without loss of content or functionality.

Automated tools can detect issues such as missing labels or suspicious contrast, but they cannot reliably judge meaningful alternative text, logical focus order, clarity of instructions or whether a task is understandable. Combine automated testing, manual keyboard testing, screen-reader checks and testing with people who have varied access needs.

Inclusive content and interaction

Use plain language, avoid unnecessary idioms, and do not assume gender, culture, literacy, device capability or a particular family structure. Offer alternatives where a single method creates exclusion: do not make a colour-coded chart the only source of status; do not require a mouse; do not make time-limited interaction unavoidable without an extension or alternative.

Accessibility is also an ethical and professional responsibility. It reduces exclusion, supports legal compliance, improves search and maintainability, and often improves the experience for everyone.

9. Applied Case Study: Community Clinic Appointment Portal

The following is an illustrative case for educational use.

Background

A community clinic wants a responsive web portal through which patients can find a service, request an appointment and receive confirmation. The existing process relies on telephone calls and a PDF form. Staff report incomplete information and repeated calls asking whether requests were received.

Problem

The initial development proposal contains a large dashboard, medical terminology, a calendar with colour-only availability indicators and a multi-step form that clears data after validation errors. The proposal is visually attractive but risks excluding users with low digital confidence, limited vision, motor impairments or slow connections.

Analysis

Interviews identify three primary user goals: find the appropriate service, request a suitable time and confirm what will happen next. Staff need complete contact details and a reliable audit trail. A journey map exposes uncertainty at three points: choosing the right service, understanding appointment status and recovering from an invalid form entry.

The team creates an IA with “Services,” “Appointments,” “Help” and “Account.” A task flow separates appointment requests from confirmed appointments because a request is not necessarily a booking. Content testing replaces “triage category” with plain-language explanations and a help link.

Approach and solution

The mobile-first wireframe contains:

  1. a concise service search and category list;
  2. a service page with eligibility, preparation and contact options;
  3. a form divided into meaningful sections, with a progress indicator;
  4. date and time choices presented as labelled controls, not colour alone;
  5. a review page before submission;
  6. a confirmation page with reference number, next steps and contact route.

The implementation uses semantic headings, real labels, server-side and client-side validation, keyboard-accessible date selection and text status messages. Error messages appear beside the relevant field and in a summary at the top. The system preserves values after an error. A confirmation email is supplemented by an in-portal status because email delivery cannot be assumed.

Outcome

In usability testing, participants complete the primary flow with fewer prompts and can explain whether their request is pending or confirmed. Keyboard testing reveals that the first calendar prototype traps focus; replacing it with a simpler native date input on supported browsers and a tested fallback removes the defect. Staff receive more complete requests, while the portal provides a clear alternative to telephone contact.

Learning points

The case demonstrates that accessibility and usability must be designed into information architecture, content, interaction states and implementation. A design system cannot repair a confusing task model. Equally, a clear task model can still fail if focus management, validation or status communication is neglected.

10. Evaluation, Metrics and Limitations

A project should define success measures before testing. Possible measures include task completion rate, critical errors, time on task, abandonment, support requests and user-reported confidence. A completion rate is calculated as:

Completion rate = (number of users who complete the task ÷ number of users who attempt the task) × 100%

The measure is meaningful only when the task, participant group, success definition and test conditions are specified. For example, if 8 of 10 representative participants complete a task, the observed completion rate is 80%, but a small sample should not be treated as a precise estimate of the entire population. Qualitative observations may explain why the two participants failed.

Other evaluation methods include cognitive walkthroughs, heuristic inspection, accessibility audits, analytics review and support-ticket analysis. Each has limitations: analytics show behaviour but not intent; automated accessibility tools have incomplete coverage; expert reviews may reflect expert assumptions; and laboratory tests may not represent real contexts.

11. Professional Workflow for a Mini Project

A practical mini-project workflow is:

  1. Discover: identify stakeholders, users, constraints and risks.
  2. Define: write problem statements, user goals and measurable success criteria.
  3. Structure: create content inventory, IA and key task flows.
  4. Sketch: produce mobile-first wireframes including all important states.
  5. Prototype: connect the primary flow and test content and interaction.
  6. Specify: document components, tokens, responsive rules and accessibility behaviour.
  7. Implement: use semantic HTML, progressive enhancement and validated forms.
  8. Evaluate: perform heuristic, keyboard, automated and representative user testing.
  9. Iterate: prioritise defects by impact, frequency and risk; retest changes.
  10. Document: record assumptions, decisions, known limitations and evidence.

A useful project deliverable includes the IA, two or more user journeys, annotated wireframes, a clickable prototype, a component inventory, an accessibility checklist, test findings and a change log. This documentation demonstrates design reasoning rather than merely presenting screenshots.

12. Contemporary Developments and Responsible Use of AI

Design tools increasingly provide automated layout suggestions, text generation, image descriptions and code conversion. These capabilities can accelerate exploration, but generated outputs may contain inaccessible colour combinations, misleading labels, biased assumptions, fabricated content or code that misuses ARIA. A developer remains responsible for checking semantics, privacy, copyright, security and accessibility.

Personalisation and adaptive interfaces can assist users, but excessive variation may undermine consistency and predictability. Voice interfaces, multimodal interaction and AI assistants should provide equivalent accessible paths rather than becoming the only route to a task. User data used for personalisation must have a clear purpose, appropriate security and transparent governance.

Chapter Summary

Effective web application development joins UX, UI, usability and accessibility. Information architecture organises content and actions around user goals. User journeys and task flows expose the complete experience, including errors and follow-up. Wireframes and prototypes make structure and interaction testable before expensive implementation. Heuristics provide a systematic inspection method, while design systems establish reusable visual and behavioural rules.

Mobile-first responsive design prioritises essential content and adapts layout without sacrificing access. WCAG's principles—perceivable, operable, understandable and robust—provide a foundation for accessibility, but conformance requires manual and user-based evaluation as well as automated checks. Inclusive design considers disability, context, language and diversity. In a mini project, the strongest process is iterative: investigate, structure, prototype, implement, evaluate and refine using evidence.

Key Terms

UX: The complete experience and perceived quality of interaction with a product.

UI: The visible and interactive interface through which a product is used.

Usability: The effectiveness, efficiency and satisfaction with which specified users achieve goals.

Information architecture: The organisation, labelling and structure of information and functionality.

Taxonomy: A classification system used to group and relate content.

User journey: A description of stages experienced while pursuing a broader goal.

Task flow: The ordered steps and decision paths for completing a task.

Wireframe: A simplified representation of layout, hierarchy and content priority.

Prototype: An interactive or representational model used to explore and evaluate a design.

Design system: Coordinated principles, tokens, components, patterns and guidance.

Responsive design: Design that adapts content and interaction to different viewport conditions.

Mobile-first: A design approach that begins with the smallest practical layout and enhances it for larger screens.

Accessibility: The ability of people with varied abilities to perceive, operate, understand and use a product.

Inclusive design: Designing for a broad range of abilities, contexts, identities and circumstances.

WCAG: Web Content Accessibility Guidelines for accessible web content.

Semantic HTML: HTML elements whose meaning communicates structure and purpose.

Heuristic evaluation: Expert inspection against recognised usability principles.

Progressive enhancement: Building a basic functional experience and adding capabilities where supported.

Accessible name: The programmatically available name by which assistive technology identifies a control.

Review Questions

Short Answer Questions

  1. Distinguish between UX, UI and usability.
  2. What are the main components of information architecture?
  3. Explain the difference between a wireframe and a prototype.
  4. State the four WCAG principles.
  5. Why should native HTML controls generally be preferred to clickable generic elements?

Long Answer Questions

  1. Explain a human-centred design cycle and show how it could be applied to a student assignment portal.
  2. Describe how user journeys and task flows contribute to the design of error recovery.
  3. Discuss the purpose of a design system and the information that a component specification should contain.
  4. Explain mobile-first responsive design and identify important implementation risks.
  5. Discuss the strengths and limitations of heuristic evaluation, automated accessibility testing and user testing.

Analytical / Application Questions

  1. Design an information architecture and primary task flow for an online community-library membership application. Justify your labels and error paths.
  2. Inspect a form that uses placeholder text instead of labels, colour alone for required fields and a success message that disappears after two seconds. Identify the usability and accessibility problems and propose corrections.
  3. A prototype has a high task-completion rate but users frequently ask whether their submissions were saved. Analyse the likely causes and propose interface, content and evaluation changes.

Multiple Choice Questions with Answers

Question 1

Which statement best distinguishes information architecture from visual styling?

A. Information architecture organises content and functions around user goals.

B. Information architecture selects only brand colours and fonts.

C. Information architecture replaces the need for usability testing.

D. Information architecture defines database indexes only.

Correct Answer: A. Information architecture organises content and functions around user goals.

Question 2

What is the primary purpose of a low-fidelity wireframe?

A. To prove that production code is secure.

B. To test structure, hierarchy and navigation cheaply.

C. To measure server response time.

D. To provide final marketing artwork.

Correct Answer: B. To test structure, hierarchy and navigation cheaply.

Question 3

Which WCAG principle requires content and controls to be available through appropriate sensory channels?

A. Robust

B. Understandable

C. Perceivable

D. Operable

Correct Answer: C. Perceivable

Question 4

A form loses all entered values after a validation error. Which design principle is most directly violated?

A. Error recovery and prevention

B. Aesthetic minimalism

C. Database normalisation

D. Brand consistency

Correct Answer: A. Error recovery and prevention

Question 5

Which is the best example of a user-centred navigation label?

A. Workflow Assets

B. Entity Management

C. Track my order

D. Relational Records

Correct Answer: C. Track my order

Question 6

Why is keyboard testing necessary even when automated accessibility tools report no errors?

A. Automated tools cannot reliably verify every focus and interaction path.

B. Keyboard testing measures colour contrast more accurately.

C. Keyboard testing replaces the need for semantic HTML.

D. Automated tools test only server-side code.

Correct Answer: A. Automated tools cannot reliably verify every focus and interaction path.

Question 7

If 8 of 10 users complete a specified task, what is the observed completion rate?

A. 8%

B. 20%

C. 80%

D. 125%

Correct Answer: C. 80%

Question 8

Which practice best reflects mobile-first responsive design?

A. Designing for one named phone model only.

B. Starting with essential content and enhancing the layout as space increases.

C. Hiding complex content on small screens without an alternative.

D. Using fixed pixel widths for every viewport.

Correct Answer: B. Starting with essential content and enhancing the layout as space increases.

Question 9

What is a key limitation of heuristic evaluation?

A. It cannot identify any consistency problems.

B. It requires a functioning database before it can begin.

C. Experts may miss domain-specific misunderstandings experienced by actual users.

D. It is useful only for colour selection.

Correct Answer: C. Experts may miss domain-specific misunderstandings experienced by actual users.

Question 10

Which implementation choice most strongly supports accessible semantics?

A. Using a styled generic div for every control.

B. Using native buttons and links according to their purposes.

C. Communicating status through colour alone.

D. Removing visible focus indicators.

Correct Answer: B. Using native buttons and links according to their purposes.

Case studies and Mini Project on Web App Development
Chapter 5 of 15