惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Security Latest
Security Latest
C
Cisco Blogs
P
Palo Alto Networks Blog
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
C
Cyber Attacks, Cyber Crime and Cyber Security
NISL@THU
NISL@THU
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Secure Thoughts
P
Privacy International News Feed
V
Vulnerabilities – Threatpost
D
Docker
Google Online Security Blog
Google Online Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
G
Google Developers Blog
Schneier on Security
Schneier on Security
小众软件
小众软件
爱范儿
爱范儿
GbyAI
GbyAI
J
Java Code Geeks
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
The Hacker News
The Hacker News
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
TaoSecurity Blog
TaoSecurity Blog
MyScale Blog
MyScale Blog
B
Blog RSS Feed
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Securelist
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Y
Y Combinator Blog
S
Schneier on Security
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 叶小钗
F
Fortinet All Blogs
M
MIT News - Artificial intelligence
PCI Perspectives
PCI Perspectives
V
V2EX
V2EX - 技术
V2EX - 技术
O
OpenAI News
W
WeLiveSecurity

TetraLogical Blog

Designing for people with reading disabilities - TetraLogical Designing for people who are D/deaf - TetraLogical Designing accessible documents - TetraLogical Introduction to creating accessible documents - TetraLogical Inclusive user research: vulnerable people - TetraLogical Designing for people who are blind - TetraLogical Meet the team: Niamh Madden - TetraLogical Designing for people with anxiety - TetraLogical Designing for people with disabilities - TetraLogical Accessible building blocks for the web videos - TetraLogical Common accessibility misconceptions - TetraLogical Common misconceptions about testing accessibility - TetraLogical Common misconceptions about implementing accessibility - TetraLogical Common misconceptions about WCAG - TetraLogical Common misconceptions about disability - TetraLogical Meet the team: Grace Snow - TetraLogical Sustainable accessibility in complex organisations: strategic foundations - TetraLogical Sustainable accessibility in complex organisations: organisational realities - TetraLogical Sustainable accessibility in complex organisations: external factors - TetraLogical Common misconceptions about screen readers - TetraLogical Guide to the Inclusive Design Principles - TetraLogical Meet the team: Ian Lloyd - TetraLogical Annotating designs using common language - TetraLogical Meet the team: Catriona Morrison - TetraLogical Championing inclusive language - TetraLogical Press release: TetraLogical launches accessible self-led training courses to help digital teams build confidence in accessibility - TetraLogical Why inclusive products are green products - TetraLogical Accessible Recruitment - TetraLogical Accessibility and the agentic web - TetraLogical Meet the team: Craig Abbott - TetraLogical Foundations: types of assistive technology and adaptive strategies - TetraLogical European Accessibility Act (EAA) FAQ - TetraLogical Screen reader HTML support tables - TetraLogical Interview with Lola Odelola - TetraLogical Understanding EN 17161 Design for All - TetraLogical Inclusive user research: building rapport - TetraLogical Foundations: Keyboard accessibility - TetraLogical Can generative AI write contextual text descriptions? - TetraLogical Understanding the European Accessibility Act (EAA) - TetraLogical Meet Josh: a sportsman who has spinal muscular atrophy - TetraLogical Meet Jonathan: a photographer who has ADHD - TetraLogical Foundations: grouping forms with `<fieldset>` and `<legend>` - TetraLogical XR Accessibility: for people with moving disabilities - TetraLogical Meet Andre: a music producer and blind screen reader user - TetraLogical Foundations: types of disability - TetraLogical Meet Lauren: a film editor who has ADHD - TetraLogical Meet Steve: a photographer who is deaf and low vision - TetraLogical Foundations: form validation and error messages - TetraLogical Meet Hasmukh: a blind cricketer and screen reader user - TetraLogical XR Accessibility: for people with hearing disabilities - TetraLogical XR Accessibility: for people with thinking disabilities - TetraLogical XR Accessibility: for people with seeing disabilities - TetraLogical Introduction to XR Accessibility - TetraLogical Foundations: labelling text fields with input and label - TetraLogical Design patterns and WCAG - TetraLogical Does WCAG 2.2 apply to native apps - TetraLogical Why are my live regions not working? - TetraLogical Building a culture of accessibility - TetraLogical When to use tabindex= Accessibility foundations - TetraLogical Meet the team: Demelza Feltham - TetraLogical Can generative AI help write accessible code? - TetraLogical Meet the team: Steve Faulkner - TetraLogical Meet the team: Gez Lemon - TetraLogical Keyboard accessibility myths and WCAG - TetraLogical Amendment to the Public Sector Accessibility Regulations - TetraLogical What Considerations for TV user interface accessibility - TetraLogical Meet the team: Alistair Duggin - TetraLogical Sticky content: focus in view - TetraLogical The only accessibility specialist in the room - TetraLogical Meet the team: Ian Pouncey - TetraLogical Meet the team: Dean Holden - TetraLogical Meeting WCAG Level AAA - TetraLogical Foundations: accessible names and descriptions - TetraLogical Inclusive XR: accessible augmented reality experiences - TetraLogical Foundations: pointer gestures - TetraLogical Meet the team: Graeme Coleman - TetraLogical Adding sign language to videos - TetraLogical Foundations: introduction to WAI-ARIA - TetraLogical Meet the team: Joe Lamyman - TetraLogical Inclusive XR: accessible 3D experiences - TetraLogical Foundations: visible focus styles - TetraLogical Foundations: target sizes - TetraLogical Meet the team: Henny Swan - TetraLogical Meet the team: Ela Gorla - TetraLogical Foundations: native versus custom components - TetraLogical Foundations: HTML semantics - TetraLogical Accessibility and supporting Internet Explorer - TetraLogical Meet the team: Felicity Miners-Jones - TetraLogical Accessibility and QR codes - TetraLogical Inclusive user research: recruiting participants - TetraLogical Research insight: accessibility of images - TetraLogical Meet the team: Léonie Watson - TetraLogical Android accessibility: roles and TalkBack - TetraLogical Accessible design systems - TetraLogical Meet the team: Patrick H. Lauke - TetraLogical Inclusive user research: analysing findings - TetraLogical How to write user stories for accessibility - TetraLogical Triaging WCAG 2.1 Level AAA - TetraLogical
Designing for people with low vision - TetraLogical
2026-03-24 · via TetraLogical Blog

Posted on by Ian Lloyd in Design and development, User experience

Tags: Assistive Technology, WCAG

Low vision affects millions of people worldwide, yet it's often overlooked in the design process. The design choices we make, from how we emphasise content to where we position controls, can either empower people to customise their experience or create unnecessary barriers. By understanding these impacts and designing with flexibility in mind, we can create interfaces that truly work for everyone.

People we are designing for

Seeing: a bright purple outline of an eye chart with a bold orange E at the top. On the row below are smaller muted red letters for S and L. The bottom line has three smaller letters; H, T, and O, made up of muted purple dots, as the letters become harder to see.
Seeing

The term 'low vision' covers a variety of sight problems among the greater category of seeing disabilities. This includes people with age-related vision loss who may not consider themselves disabled, people with glaucoma who have reduced vision, and people with more severe conditions such as advanced retinitis pigmentosa, often known as tunnel vision. Many people with low vision browse using screen magnification, increasing zoom levels, or a combination of both.

No two people experience vision loss in the same way. Even people with the same condition are affected differently. Vision exists on a spectrum, and people use different assistive technologies and adaptive strategies based on their own level of sight. The beauty of the web is that it inherently supports adaptation to the degree each individual needs, but only when the design and implementation allow it.

Design considerations

Design decisions directly shape how people with different levels of vision experience digital interfaces. The choices you make as a content designer, interaction designer, visual designer, or user experience designer can either support adaptation or create unnecessary barriers.

As discussed in our article designing for people with disabilities, inclusive design is not just about implementing requirements such as the Web Content Accessibility Guidelines correctly, but about shaping outcomes that work for how people consume content. Here are some key considerations and how to design experiences for people with low vision.

Provide a clear visual hierarchy

People with low vision often see only a small portion of the screen at any one time, when using zoom or screen magnification. A clear visual hierarchy helps them understand how content is structured and how sections relate to each other, without having to piece that structure together mentally.

One way to achieve this is to ensure that headings (h1 through to h6) visually reflect the relationship between sections of content. Larger font sizes should indicate higher level headings, making the structure of the page clear at a glance.

When different heading levels appear the same size, the relationship between sections becomes unclear. In the following example, the second level headings, "Account Management" and "Billing & Subscriptions" are the same size as the third level subheadings which is confusing as it suggests they are the same hierarchy.

All headings are the same font size, are bold, and have a purple font and all convey the same level of importance

Here's the same page where the different sizes between the second and third level headings make the hierarchy clearer visually.

The main page heading is biggest, followed by a smaller level 2 heading and two level three headings, clearly indicating structure/hierarchy in the document

Provide clear visual grouping

Clear visual grouping of information reduces cognitive load, supports orientation at high zoom levels, and helps people recognise relationships between content quickly and confidently.

There are a number of ways this can be done, including:

  • Using background panels or cards: place related content within a shared container with sufficient contrast between the background and surrounding content
  • Consistent spacing between sections: increase space between unrelated sections and reduce space within related groups
  • Grouping form fields with clear boundaries: use consistent spacing, fieldsets, and visible legends so related inputs are clearly connected
  • Clear association between labels and controls: ensure labels sit close to their inputs and are not visually detached
  • Visually distinct navigation areas: separate navigation from main content using spacing, borders, or background contrast

The TetraLogical homepage makes use of a few of these techniques including using background colours for panels and a visually distinct main navigation.

Screenshot of the TetraLogical homepage with the main navigation on an off-white background, with the next section on a dark purple background, and the next section on an off-white background
Visually distinct sections on the TetraLogical homepage.

The following is the same page again but with the page zoomed within the browser.

Screenshot of the start of the TetraLogical homepage with the main navigation grouped on a an off white background and main content after it with purple background
Visually distinct sections on the TetraLogical homepage become even more useful for people browsing with content zoomed in.

Another example, taken from the standards and guidelines page of this website, shows how a background and outline can make a set of disclosures distinct from the rest of the page and each other.

Screenshot of a heading, image, and text with two disclosures after it, each has a lighter white background and grey outline so it stands out against the darker page background

When zoomed by 200% in the browser, much less of the page is visible at once. The background and outline help maintain a clear boundary around each disclosure, making it easier to recognise them as distinct sections rather than isolated fragments of content.

Screenshot of just text and the two disclosures

Prioritise key content

One of the Inclusive Design Principles is to "Prioritise content":

Help users focus on core tasks, features, and information by prioritising them within the content and layout.

When content is zoomed or magnified, the visible area of the screen is reduced. Instead of seeing the full page or screen layout, people see a small portion at a time. This could be just a few lines of text on a web page or part of an image and some text. If visual priority is not clear, it becomes harder to tell what is important, what relates to what, and where to focus next.

In the following example of an email application interface, it would appear to have all the features that you would expect, including various mailboxes, an email viewer and a Compose Email button

Screenshot of an email client named 'NeatMail'. Mailboxes are in the first column on the left, a list of emails in the inbox are in the second column, and the third column shows the currently selected email. The Compose email button is in the far right corner above the selected email and is highlighted
The 'Compose Email' button, one of the most important controls someone writing an email will need, is positioned in the top right corner.

In languages that run left-to-right, content that has most importance should be present towards the top-left of the page. In this example, arguably the most important feature of an email client, the Compose Email button has been positioned where someone with screen magnification has to go hunting for it and may well miss it, as they would most likely be exploring that area to the top-left:

The email client with a highlighted section in the top left quadrant suggesting where people using screen magnification might be exploring the page
The email application may not be visible as a whole for screen magnification users.

One workaround is to move the button to the top-left where most people might reasonably expect it to be, and where people with low vision have a chance of discovering it when using screen magnification.

The New email button is positioned top-left, right next to the company branding
The high-priority 'Compose Email' button placed in a location where people using screen magnification may more easily find it.

The same priority that you should provide for position of elements carries through to the wording that you use on elements, be that headings, buttons or links. Once again, assuming a left-to-right language, the most important content should be on the left.

A bad example of a heading or link might be "Read more about our hibiscus plants" where simply "Hibiscus plants" does the job. Equally, linking "Can't find what you are looking for? Contact us" places the key information at the end of the link whereas just linking "Contact us" is sufficient.

Related content and controls should appear close to each other so their relationship is immediately clear. When elements are visually separated, it can become difficult to understand what belongs together, particularly for people using zoom or magnification where large areas of empty space can make people feel lost.

The following example of a disclosure shows the upside-down triangle, which visually indicates that there is content that may be revealed, to the far right of the text.

A disclosure with the trigger text 'Famous composers' and some text underneath that reads 'Some content here about composers. It's very interesting content.' An upside down triangle indicating this is a disclosure is in the top-right, far removed from the text content
Right-aligning the disclosure indicator (triangle) is less than ideal when the page width causes it to be far removed from the associated content.

This can be problematic for someone browsing with screen magnification or content zoomed, because there is nothing that visually joins that triangle with the disclosure trigger text of "Famous composers". The text also has no other styling that might suggest it's interactive; it does not look like a button, has no underline. It could easily be mistaken as a heading.

The same disclosure, but the image is zoomed showing just the text elements, making it appear to be just a heading and a paragraph, and no arrow button
For people using screen magnification, this might be all that they see of the disclosure content in the zoomed area.

By grouping the arrow button to the left of the text, the button remains visible when the screen is magnified and this content is in view.

The same disclosure, magnified, but with the arrow button to the left of the heading text
With the disclosure indicator (triangle) next to the associated text, people using screen magnification have a much greater chance of understanding that this content will reveal more information.

As noted earlier, in addition to placing the control near to its associated text, this relationship can be reinforced by visually grouping the content.

The text 'Famous composers' and the triangle symbol are now contained in a white box with a border, standing out against the page background more clearly.
With the disclosure title/trigger text now contained in a white box, it is more clear that this content is a separate entity from the text that immediately follows; it invites interaction more readily.
The disclosure, opened, with the disclosure title/trigger text and the revealed content (a list of composer's names), all contained with a white box with a border
The disclosure title/trigger text and the associated content that it reveals are much clearer to perceive when visually grouped.

Other examples of content that should be grouped together include:

  • Form errors: place error messages and help text immediately next to the relevant form field so they are clearly associated
  • Control labels: position checkbox and radio button labels directly beside their controls so the relationship is obvious
  • Calls to action: keep actions such as Edit, Delete, or Select close to the related item description or name, especially within tables

Avoid fixed heights for text content

When laying out blocks of text content side-by-side, typically a designer will want the different blocks to align so it doesn't result in a staggered look.

Take the example below where there are two blocks of content in a banking app. Each block has a background colour and a border that helps it to stand out against the page background.

Two blocks of warning or advisory text, side-by-side, with the headings 'Beware of scams' and 'Stay informed'
Two blocks of content, styled to stand out from the other page content, have the same vertical height.

The amount of text in each panel is roughly equivalent, and the panel heights match. But what happens if the content increases? It’s unlikely the designer intended these panels to have different heights, yet design work often assumes a fixed amount of content. In practice, content varies and can change as people zoom the page or enlarge text, increasing the space content requires.

In other words, the design reflects optimal conditions, where content fits neatly within each panel. In reality, content rarely stays this balanced. As content grows or changes, the layout may start to look more like this:

The panel on the left has over double the amount of text content than the right panel. The panel background and borders are the same height, it's just the text content inside that is not equal in height
Unequal text content in the two panels, but the panel heights are still vertically aligned and aesthetically pleasing.

The problem demonstrated in the image above is one that straddles design and development disciplines. At default size, the design would appear to accommodate some flexibility in the amount of content that may be in each panel. However, if the height of the largest of the two panels is set with the CSS height property, it doesn't allow people with low vision to boost their font sizes without things becoming unusable:

The panel heights remain the same with font size boosted, causing the text content in the left panel to overlap badly with other content on the page. The right panel is unaffected
Fixed heights on the containers for the two text blocks have caused issues with text overlapping other page content when font sizes are increased.

In the example above, the font size has been increased to 200% in the browser, causing it to overflow the fixed height container. The overlapping text is unreadable over the content that follows. This is an extreme example, but it is actually very common with much smaller design elements, notably buttons.

As a designer, it's useful to be aware how a developer might implement a design. Knowing that they could, potentially, set a fixed height to achieve the alignment, and knowing that the content that appears may change and increase encourages a mindset of designing defensively against things breaking.

A better approach is to design the layout so that if the text is updated and increases, it doesn't affect the visual layout. In this instance a stacked layout works better. In a stacked layout, it doesn't matter how much text is in either panel, as each panel can resize to whatever height the content requires it to.

The two blocks of warning or advisory text, are now stacked on top of each other
With no requirement to vertically match two panels' heights, the stacked panels use only as much space as they need, with no awkward gaps.

A stacked design by default would certainly prevent that, and protect against those scenarios, including when font size is increased:

The same stacked layout with font size increased. Everything reflows and resizes without issue

Design discoverable notifications

When someone is using zoom or magnification, and only a small area of the screen is visible at a time, notifications may appear outside that area and disappear before they are seen.

Toast notifications are a common example. These temporary messages appear briefly to provide feedback about an action and then disappear automatically. They are often low contrast, visually subtle, and positioned away from the triggering action, making them difficult to notice or connect to what just happened. As a result, important feedback can be missed, leaving the user unsure of the outcome.

In the following example, a toast message is displayed in the bottom-right-hand corner of the screen. It doesn't disappear automatically, instead it remains in place until it's dismissed by clicking the 'x' close button.

A Payment declined toast message at the bottom-right of a banking website page

A screen magnification user might completely miss it because it's outside the area where they currently have their screen magnification focused.

The whole screen is showing, but roughly a quarter of the page is highlighted, indicating where a screen magnification user is currently viewing the page. The toast message is far out of that viewed section of the page
The toast notification is not visible to the person using screen magnification here as its outside of the magnified portion of the page.

One solution is to avoid using toast notifications altogether. They are difficult for many people to perceive and use, including both disabled and non-disabled users. GitHub no longer recommends them in its design system documentation instead encouraging more robust notification patterns.

The simplest solution to ensure that people using screen magnification are not excluded is to:

  1. Place the notification message adjacent to whatever initiated the action that caused the message to display and
  2. Move focus to that element.

Even if the message is just out of the current screen magnification area, moving focus to it should ensure that it gets seen.

Avoid sticky headers and footers

Sticky headers and footers are interface elements that remain pinned to the top or bottom of the screen while the rest of the page scrolls. They are often used for navigation, branding, or key actions.

At high zoom levels, a fixed header and footer can leave only a narrow strip of space for the main content, increasing scrolling and making it harder to read or complete tasks. They can also obscure content when text is resized, forcing people to pan around the page to see information that would otherwise flow naturally.

In the following video example, the header area remains fixed in place, providing quick access to the navigation at all times. This is viewed in the browser with no magnification. When scrolling through the page, the header only uses a small amount of space at the top of the screen.

In the next example, the page content is zoomed to 400% with the screen size set to 1280px by 720px. This is the equivalent of a 320px by 180px screen, un-zoomed, which is the metric used for testing WCAG 2.2 Success Criterion 1.4.10 Reflow (Level AA).

There are two key issues to note here:

  1. The header takes up around 60% of the viewport, leaving a very small area in which the actual page content can be viewed
  2. The header area itself does not scale, so only one of the five navigation items is visible, "Dashboard"

This could be improved through a better implementation of the sticky header. The broken navigation could be changed so that it converts to a 'hamburger' menu. The branding and padding could also be reduced to give everything else some more space. As the video below demonstrates, the sticky header takes up a small amount of space and the navigation is tucked away into a menu:

But even if this were better-implemented, the sticky header is still problematic as it still obscures some content and can make browsing with a keyboard difficult which affects people with low vision who don't use a mouse. The video demonstrates this issue:

For example, keyboard-only users scroll web pages using the SPACE key. By default, pressing SPACE scrolls the page down by one viewport height, which is an efficient way to read longer content.

When a sticky header is present, the browser does not account for its height when scrolling. Content is positioned underneath the header, partially hidden from view. People must then press the arrow keys to reposition the page before they can continue reading. At high zoom levels, where the viewport is already small, this repeated adjustment becomes slow and frustrating.

We explore this and workarounds in sticky content, focus obscured.

Design for equivalent functionality at all zoom levels

When zooming a page within the browser by 300% or 400%, it can trigger the mobile layout. If features have been removed in that layout, people lose access to them, even though they are still using a desktop device.

When creating a mobile view of a website, be mindful not to make the mistake of chopping out features that you think a mobile user might not need. Common examples may include:

  • Print functionality: exposing a 'Print' button that launches a more printer-friendly view of the page
  • Export as PDF/CSV/Excel: providing options to export data to a format typically used by a desktop application

Here's an example of a page that has both:

A bank statement with three buttons: Print, Export CSV and Export PDF. The buttons appear top-right above the statement
A banking app statement with buttons that provide functionality typically associated with a desktop/laptop computer.

The bank statement above has Print and Export options in desktop view but when content is zoomed on a desktop, or viewed on a mobile screen, they are completely missing:

In mobile view, there is just a blank space in the top right where the buttons would have been in desktop view
Print and export controls are missing in the zoomed view of the same page.

Here's the same statement in a desktop browser, with content zoomed to 300%. The functionality is provided in a pop-up menu instead of buttons permanently fixed above the transaction data:

The 'three dots' menu button has been activated, showing Print, Export CSV and Export PDF as menu options
The print and export features now present in a zoomed view, but re-purposed as a menu.

In short, functionality available in a desktop view should not be removed in smaller viewports. It must remain available in every layout. The design may need to adapt to accommodate reduced screen space, but the capability itself should not disappear. What matters is providing a comparable experience, regardless of viewport size or zoom level.

Resources

Next steps

For more information about the Web Content Accessibility Guidelines, read our WCAG primer or find out more about how an assessment can help you identify issues in your websites, mobile applications, design systems, and other products and services.