UX heuristic analysis · Banks and insurers

TD.com: a UX heuristic analysis

For TD’s digital product team

Download the PDF

TD.com's sign-in page turns off zoom, and a chequing button is named for a Starbucks offer

The EasyWeb sign-in page sets user-scalable = no, its Login Help links measure 4.27:1, and its phone menu reports aria-expanded 'false' while open. On the TD Unlimited Chequing page a 'Get started' button is named 'Earn 50% more Stars at Starbucks Learn more', and closed FAQ answers on the GIC page still take keyboard focus. On a phone the privacy notice covers 427 of 844 px, and its preferences open with Performance and Targeting switched on. axe found 8 rules failing across 12 pages at 3 sizes, seen from Toronto, Canada.

Where to start

  1. Finding 4: A 'Get started' button on the chequing page is named for a Starbucks offer Medium
  2. Finding 9: The EasyWeb sign-in page turns off pinch zoom Medium
  3. Finding 10: The Login Help links on the sign-in page measure 4.27:1 Medium
  4. Finding 11: On a phone the sign-in page's menu buttons say 'collapsed' while their menus are open Medium
  5. Finding 5: Closed FAQ answers on the GIC rates page still take keyboard focus Medium
Findings by level
HighMediumLowBest practice
0641

The 11 findings

Findings about the whole site first, then each page in the order examined, the most severe first within each. The levels, high, medium, low, best practice, are explained on the method page.

Finding 1Low

The privacy preferences open with Performance and Targeting switched on

Where
Throughout
Seen at
Desktop
Effort to fix
Small
TD at desktop size, the frame on what this finding is about: The privacy preferences open with Performance and Targeting switched on.
Desktop, 1440 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

Pressing 'Manage online experience' opens 'Manage Preferences' with Performance and Targeting switched on before the visitor has chosen anything. The notice and the panel offer 'Accept all' and 'Confirm My Choices', and no button that declines both in one step.

Implication

A person who opens the panel to refuse tracking must find and switch off 2 toggles, and one who presses Confirm My Choices without reading agrees to targeting.

Recommendation

Start Performance and Targeting switched off, and add a 'Reject all' button beside 'Accept all' in the notice and in the panel.

Measured

  • Performance and Targeting on before any choice
  • No reject-all button in the notice or the panel

Finding 2Low

On a phone the privacy notice covers half the screen and the open menu

Where
Throughout
Seen at
Phone
Effort to fix
Medium
TD at phone size, the frame on what this finding is about: On a phone the privacy notice covers half the screen and the open menu.
Phone, 390 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

At 390 × 844 the privacy notice is 427 px tall on the home page and 407 px on sign-in. On home it covers the hero's Open an account button. It is drawn above everything else on the page, so it also covers the lower half of the open menu.

Implication

On a first visit, people on a phone see half a page until they answer the notice. Some accept tracking to clear the screen.

Recommendation

On phones, show one or two lines with 'Accept all', a decline button and 'Manage online experience' side by side, with the full text in the panel. Let the open menu and dialogs cover the notice.

Measured

  • Privacy notice: 390 × 427 px of the 844 px screen
  • Overlap: 360 × 42 px (15120 px²)
  • Sign-in, 390 px: notice covers the open menu

Finding 3Best practice

Footer links open a new tab with no icon and nothing in their names

Where
Throughout
Seen at
Desktop
Effort to fix
Small
TD at desktop size, the frame on what this finding is about: Footer links open a new tab with no icon and nothing in their names.
Desktop, 1440 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

On every page the footer's social links, 'DEPOSIT PROTECTION DES DEPOTS' and 'Regulated by CIRO' open a new tab, with no icon and nothing in their names.

Implication

Screen reader and phone users find that Back no longer returns them to the TD page they were reading.

Recommendation

Add a new-tab icon and visually hidden '(opens in new tab)' to these links, or open them in the same tab.

Measured

  • Twitter: opens a new tab, no cue
  • DEPOSIT PROTECTION DES DEPO…: opens a new tab, no cue
  • Regulated by CIRO: opens a new tab, no cue

Finding 4Medium

A 'Get started' button on the chequing page is named for a Starbucks offer

Where
Chequing: TD Unlimited Chequing Account
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
WCAG 2.2
1.1.1 Non-text Content (level A)2.5.3 Label in Name (level A)
TD at desktop size, the frame on what this finding is about: A 'Get started' button on the chequing page is named for a Starbucks offer.
Desktop, 1440 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

On the TD Unlimited Chequing page the 'Get started' button that opens the product selector has the name 'Earn 50% more Stars at Starbucks Learn more'. axe reports label-content-name-mismatch at all three sizes. On the mobile app page the Google Play badge is named 'android_app'.

Implication

A screen reader announces a Starbucks promotion for the button that starts choosing an account. A voice-control user who says 'Get started' does not reach it. The Google Play link is read as a file name.

Recommendation

Remove the aria-label so the visible 'Get started' is the name, or start the label with it. Give the Google Play image alt 'Get it on Google Play', matching the App Store badge.

Measured

  • 'Get started' named 'Earn 50% more Stars at Starbucks…'
  • axe label-content-name-mismatch: 1 element (serious)
  • Google Play badge: alt 'android_app'

Finding 5Medium

Closed FAQ answers on the GIC rates page still take keyboard focus

Where
Rates: GICs
Heuristic
Accessibility
Seen at
Phone
Effort to fix
Small
WCAG 2.2
4.1.2 Name, Role, Value (level A)
TD at phone size, the frame on what this finding is about: Closed FAQ answers on the GIC rates page still take keyboard focus.
Phone, 390 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

At 390 px a closed FAQ answer is 0 px tall and aria-hidden, but not inert. On GIC rates, Tab reaches the 'GIC selector tool' link inside the closed answer to 'How do I choose the right GIC for me?'. axe reports aria-hidden-focus for the same accordion at 390 px on mortgage rates, compare accounts, the mobile app page and accessibility.

Implication

A keyboard user lands on a link they cannot see, and a screen reader user on one it does not announce, in the questions people read before choosing a GIC.

Recommendation

Make a closed panel inert, or hide it with display: none, and remove that when it opens. Fix it once in the shared accordion component.

Measured

  • Closed FAQ: hidden 'GIC selector tool' link takes focus
  • axe aria-hidden-focus: 1 element (serious)
  • axe aria-hidden-focus: 2 elements (serious)

Finding 6Medium

Footnote links '2' and '3' in the mortgage rate table are 10 px tall

Where
Mortgage rates
Heuristic
Accessibility
Seen at
Tablet
Effort to fix
Small
WCAG 2.2
2.5.8 Target Size (Minimum) (level AA)
TD at tablet size, the frame on what this finding is about: Footnote links '2' and '3' in the mortgage rate table are 10 px tall.
Tablet, 820 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

In the rate table on Today's Mortgage Rates, footnote links '2' and '3' measure 5.8 × 10 px and 6.2 × 10 px at 1440 px, 2.9 px and 3.1 px from the next link. axe reports target-size for them at all three sizes.

Implication

The notes these links open say how the advertised rate and APR are calculated. People with a tremor, or anyone on a touch screen, hit 'APR' or miss the link when they try to read them.

Recommendation

Pad each footnote link to at least 24 × 24 px, or space it 24 px from its neighbours. The same footnote component is used on the GIC and chequing pages.

Measured

  • axe target-size: 3 elements (serious)
  • Footnotes '2' and '3': 5.8 × 10 and 6.2 × 10 px

Finding 7Low

Each footnote on the mortgage rates page opens the same list of 11 notes

Where
Mortgage rates
Seen at
Desktop
Effort to fix
Small
TD at desktop size, the frame on what this finding is about: Each footnote on the mortgage rates page opens the same list of 11 notes.
Desktop, 1440 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

Footnote links on the mortgage rates page are named by their digit ('2', '4'). Each opens one dialog named 'Modal content', starting at note 1 and listing 11 notes, with nothing marking the one chosen. On compare accounts the same dialog scrolls to the chosen note.

Implication

People reading the conditions of a rate must remember the number they pressed and find it in a list, and a screen reader announces only the digit and "Modal content".

Recommendation

Scroll the dialog to the chosen note and highlight it, as compare accounts does. Name the dialog by its heading, and the links 'Footnote 2' and so on.

Measured

  • State 2: 4 (button) used
  • Footnote '2': 'Modal content' dialog of 11 notes from note 1

Finding 8Low

The branch locator opens on a "could not find" message before any search

Where
Branch and ATM locator
Seen at
Desktop
Effort to fix
Small
TD at desktop size, the frame on what this finding is about: The branch locator opens on a "could not find" message before any search.
Desktop, 1440 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

On load the locator shows 'We could not find a TD Canada Trust branch or TD Green Machine ATM.' beside a map of northern Canada, before anything is typed. It did the same in Chrome from Toronto on 27 October. The text below reads 'search a new a street'.

Implication

A person who came to find a branch is first told there is none, and some will leave without searching.

Recommendation

Show 'Enter a street, city, postal code or transit # to find branches and ATMs' until a search runs, and show the not-found message only when a search returns nothing. Correct 'a new a street'.

Measured

  • 'We could not find a TD Canada Trust branch…' on load

Finding 9Medium

The EasyWeb sign-in page turns off pinch zoom

Where
Sign in to EasyWeb
Heuristic
Accessibility
Seen at
Phone
Effort to fix
Small
WCAG 2.2
1.4.4 Resize Text (level AA)

Observation

The EasyWeb sign-in page's viewport meta tag reads 'user-scalable = no'. axe reports meta-viewport at all three sizes. The home page and the other pages examined allow zoom.

Implication

In a browser that honours the tag, a person with low vision cannot enlarge the username field, the password field or the security text to check what they typed before signing in.

Recommendation

Remove 'user-scalable = no' from the viewport tag, and check that the sign-in form reflows at 200% zoom.

Measured

  • viewport meta: user-scalable = no
  • axe meta-viewport: 1 element (moderate)

Finding 10Medium

The Login Help links on the sign-in page measure 4.27:1

Where
Sign in to EasyWeb
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
WCAG 2.2
1.4.3 Contrast (Minimum) (level AA)
TD at desktop size, the frame on what this finding is about: The Login Help links on the sign-in page measure 4.27:1.
Desktop, 1440 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

'Get Login Help', 'Reset Password', 'Two-Step Verification FAQs' and 'Improve Your Protection Against Online Fraud' are 16 px #008A00 on the panel's #F5F9F7: 4.27:1, under the 4.5:1 that text this size needs. axe reports color-contrast on 4 elements at 1440 px.

Implication

These are the links a person who cannot sign in needs. People with low vision, or on a phone in bright light, read them with difficulty at the moment they are locked out.

Recommendation

Use the darker green the page already uses for 'Forgot your username or password?' (#038203, 4.71:1 on the same panel) for every link in the Login Help and Enhanced Security panels.

Measured

  • axe color-contrast: 4 elements (serious)
  • Login Help links: #008A00 on #F5F9F7, 4.27:1

Finding 11Medium

On a phone the sign-in page's menu buttons say 'collapsed' while their menus are open

Where
Sign in to EasyWeb
Heuristic
Accessibility
Seen at
Phone
Effort to fix
Small
WCAG 2.2
4.1.2 Name, Role, Value (level A)
TD at phone size, the frame on what this finding is about: On a phone the sign-in page's menu buttons say 'collapsed' while their menus are open.
Phone, 390 px wide, taken 27 October 2026. The frame marks what the finding is about.

Observation

At 390 px, pressing 'Open menu' on the sign-in page opens a full-height menu, and the button's aria-expanded stays 'false'. The capture recorded the same for 'Login Open menu'. On the same page 'Login Help' updates aria-expanded when it opens.

Implication

A screen reader user is told the menu is still collapsed after opening it, and cannot tell whether the press worked before moving into the panel.

Recommendation

Set aria-expanded to 'true' when each menu opens and back to 'false' when it closes, as the 'Login Help' disclosure on the same page does.

Measured

  • Open menu TD Canada Trust: aria-expanded not updated
  • 'Open menu': panel open, aria-expanded "false"
  • Login Open menu: aria-expanded not updated

What was examined

  1. Home
  2. Chequing: TD Unlimited Chequing Account
  3. Compare bank accounts
  4. Credit cards
  5. Rates: GICs
  6. Mortgage rates
  7. Branch and ATM locator
  8. Sign in to EasyWeb
  9. Help centre
  10. Account fees
  11. Mobile app
  12. Accessibility

No real users were observed. Only public pages were examined, signed out, on the date shown, at the sizes listed. A browser took the measurements; the numbers are in each finding.

Automated checks

Automated checks across the pages examined
Accessibility rules failed (axe)8 rules: 1 critical, 6 serious, 1 moderate
Tap targets under 24 pixels101
Links that open a new tab97
Console errors on load8
The 8 rules, by impact, with the elements and pages each failed on
  1. image-alt critical

    WCAG 1.1.1 Non-text Content (A) · 1 element on 1 page: Sign in to EasyWeb

    image-alt: not counted against the level, because The one element is a zero-size tracking image added by a third-party script on the sign-in page; it is never shown, and it was not in the page on the live check (27 October).

  2. aria-hidden-focus serious

    WCAG 4.1.2 Name, Role, Value (A) · 8 elements on 6 pages: Compare bank accounts; Rates: GICs; Mortgage rates; Branch and ATM locator; Mobile app; Accessibility

  3. target-size serious

    WCAG 2.5.8 Target Size (Minimum) (AA) · 5 elements on 2 pages: Mortgage rates; Branch and ATM locator

  4. color-contrast serious

    WCAG 1.4.3 Contrast (Minimum) (AA) · 4 elements on 1 page: Sign in to EasyWeb

  5. frame-title serious

    WCAG 4.1.2 Name, Role, Value (A) · 1 element on 1 page: Sign in to EasyWeb

    frame-title: not counted against the level, because The one element is a one-pixel advertising-server iframe (adnxs.com) on the sign-in page, which no visitor sees or reaches; it was not in the page on the live check (27 October).

  6. label-content-name-mismatch serious

    WCAG 2.5.3 Label in Name (A) · 1 element on 1 page: Chequing: TD Unlimited Chequing Account

  7. list serious

    WCAG 1.3.1 Info and Relationships (A) · 1 element on 1 page: Credit cards

    list: not counted against the level, because The one element is the credit cards hero carousel’s slide strip, a list whose slides are div elements; the same card names are the tabs above it.

  8. meta-viewport moderate

    WCAG 1.4.4 Resize Text (AA) · 1 element on 1 page: Sign in to EasyWeb

Counted by the engine on every page examined, at all three sizes.