UX heuristic analysis · Banks and insurers

CIBC.com: a UX heuristic analysis

For CIBC’s digital product team

Last checked . The site may have changed since. This page shows what I saw on that day.

Download the PDF

CIBC's branch locator names its search box 'home.search.ariaLabel'

On CIBC.com's branch locator the search box is named 'home.search.ariaLabel', a code key, and the phone menu button has no name at all. All Cards has 11 links named only 'Opens a new window', the home page has 8 icon links with no name, and the play button on Accessibility at CIBC has none either. On GIC rates, 13 accordion buttons each hold a footnote link between 7.9 and 17.3 px wide. axe found 10 rules failing across 43 pages at 3 sizes, which I read from Toronto, Canada, in Chrome, because CIBC.com refused headless Chromium.

Where to start

  1. Finding 11: The branch locator's search box is named 'home.search.ariaLabel' Medium
  2. Finding 3: 11 links on the All Cards page are named only 'Opens a new window' Medium
  3. Finding 2: The 8 icon links on the home page have no name Medium
  4. Finding 13: The play button on the Accessibility at CIBC page has no name Medium
  5. Finding 7: 13 accordion buttons on the GIC rates page hold a footnote link Medium
Findings by level
HighMediumLowBest practice
0871

The 16 findings

The findings about the whole site come first, then each page in the order I examined it, most severe first within each. The levels (high, medium, low, best practice) are explained on the method page.

Finding 1Best practice

The footer's 'Manage your meeting' link opens a new tab with no cue

Where
Throughout
Seen at
Desktop
Effort to fix
Small
CIBC at desktop size, the frame on what this finding is about: The footer's 'Manage your meeting' link opens a new tab with no cue.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On 36 of the 43 pages the footer link 'Manage your meeting' opens a new tab with no icon and nothing in its name. 'Meet with us', beside it, ends in 'Opens in a new window.', and the 'Manage your meeting' link in the body of Contact Us reads 'Manage your meeting Opens a new window.'

Implication

A screen reader or phone user finds that Back no longer returns to the CIBC page they were reading.

Recommendation

Add the same 'Opens in a new window.' text to the footer link.

Measured

  • Manage your meeting: opens a new tab, no cue

Finding 2Medium

The 8 icon links on the home page have no name

Where
Home
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
CIBC at desktop size, the frame on what this finding is about: The 8 icon links on the home page have no name.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

Each of the 8 home page tiles from 'Cards' to 'US cross-border banking' has an 80 × 80 px icon link with an empty alt, beside a text link to the same address. axe reports link-name on 6 of the 43 pages: 8 elements on the home page, 8 on the French home page, 6 on French special offers, an empty link on Savings accounts, and the logo link on both Search Results pages at 1440 px.

Implication

A keyboard user tabs through 8 extra stops, and a screen reader announces each one as a link with no name or reads its address. On Search Results the link back to the home page has no name.

Recommendation

Put the icon and the text in one link on each tile. Give the Search Results logo the alt the home page's header logo uses, 'CIBC Personal Banking home.', and remove the empty link on Savings accounts.

Measured

  • 8 icon links: alt empty, no name
  • axe link-name, home: 8 elements (serious)
  • axe link-name, savings: 1 element (serious)
  • axe link-name, fr-home: 8 elements (serious)

Finding 3Medium

11 links on the All Cards page are named only 'Opens a new window'

Where
All credit cards
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
CIBC at desktop size, the frame on what this finding is about: 11 links on the All Cards page are named only 'Opens a new window'.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On All Cards, 11 visible links carry the aria-label ' Opens a new window.', which replaces their text: 'CIBC Rewards Centre' 8 times, 'Costco.ca' twice and 'Costcobusinesscentre.ca' once. axe reports label-content-name-mismatch on 11 elements at all 3 sizes.

Implication

A screen reader says 'Opens a new window' and doesn't say what opens, and its links list shows the same words 11 times. A voice-control user who says 'CIBC Rewards Centre' doesn't reach the link.

Recommendation

Add the visible text to the start of each aria-label, or remove the label and put the new-window text in a visually hidden span, as the footer's links do.

Measured

  • axe label-content-name-mismatch: 11 elements (serious)

Finding 4Low

The picker on Compare Credit Cards has 6 empty headings

Where
Compare credit cards
Seen at
Desktop
Effort to fix
Small

Observation

The card picker on Compare Credit Cards opens each of its 6 groups with an h2 that has no text, at 1440 and 390 px. The class is chooseCardsCategoryTitle, and the text is absent from the page.

Implication

A screen reader's heading list shows 6 blank entries, and nothing tells a visitor what each group of cards has in common.

Recommendation

Fill each h2 with its category name, or remove the element where a group has no name.

Measured

  • 6 empty h2 elements in the card picker

Finding 5Low

The Adapta Mastercard offer page has no h1

Where
Credit card offer: Adapta Mastercard
Seen at
Desktop
Effort to fix
Small
CIBC at desktop size, the frame on what this finding is about: The Adapta Mastercard offer page has no h1.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On the Adapta Mastercard offer page the main line, 'Earn up to $200 in value', isn't a heading, and the first heading is the h2 'Here's how it adds up:'. The other 42 pages I read each have an h1.

Implication

A screen reader user who jumps to the first heading lands below the offer and the 'Apply now' button.

Recommendation

Mark 'Earn up to $200 in value' as the page's h1 in the offer template.

Measured

  • No h1; first heading is an h2

Finding 6Medium

The 'Compare mortgages' links are 2.61:1 grey and stay in the Tab order

Where
Compare mortgages
Heuristic
Accessibility
Seen at
Tablet
Effort to fix
Small
CIBC at tablet size, the frame on what this finding is about: The 'Compare mortgages' links are 2.61:1 grey and stay in the Tab order.
Tablet, 820 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

At 820 px the 3 'Compare mortgages' links are grey on grey at 2.61:1, and axe reports color-contrast. They carry disabled="disabled" and href="#", which does nothing on a link: each takes a Tab stop, and a click or Enter changes nothing until 2 mortgages are ticked.

Implication

A low-vision visitor struggles to read the label. A screen reader user hears a working link that does nothing, and the page says to choose up to 3 mortgages without saying that 2 are needed.

Recommendation

Raise the label to at least 4.5:1, add aria-disabled="true" until 2 mortgages are ticked, and add the 2 to the line at the top of the page.

Measured

  • 3 links stay in the Tab order, do nothing
  • axe color-contrast: 3 elements (serious)

Finding 7Medium

13 accordion buttons on the GIC rates page hold a footnote link

Where
GIC rates
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Medium
CIBC at desktop size, the frame on what this finding is about: 13 accordion buttons on the GIC rates page hold a footnote link.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On GIC rates, 13 accordion title buttons each contain a footnote link, such as '6' inside 'CIBC EasyBuilder GIC™ — Non-registered', which is 8.5 × 18.5 px at 1440 px and takes its own Tab stop. The 13 links are between 7.9 and 17.3 px wide. axe reports nested-interactive and target-size on 13 elements at all 3 sizes, and target-size on a dagger link on Savings accounts.

Implication

Screen readers treat what's inside a button as plain text, so the link to the note that qualifies a GIC may not be announced as a link. A tap that misses the link lands on the button around it and toggles the panel.

Recommendation

Move each footnote link out of the button, into the panel or beside the title, and give it a target of at least 24 × 24 px.

Measured

  • axe nested-interactive: 13 elements (serious)
  • axe target-size, GIC rates: 13 elements (serious)
  • Footnote link: 8.5 × 18.5 px, inside the button
  • axe target-size, Savings accounts: 1 element (serious)

Finding 8Low

The field on Search Results is named for a status message

Where
Search results
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
WCAG 2.2
2.4.6 Headings and Labels (level AA)
CIBC at desktop size, the frame on what this finding is about: The field on Search Results is named for a status message.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

The Search Results field has the aria-label 'For more information, make sure the search field is empty and review the search tips below.' Its placeholder, 'Enter your question or search term', isn't in the name. The name stays the same with 'chequing' in the field and 3,193 results below it.

Implication

A screen reader tells the visitor to keep the field empty, on the page whose task is to fill it in.

Recommendation

Name the field 'Search', or use the placeholder's words, and put the message in a live region of its own.

Measured

  • Search field named for a status message

Finding 9Low

On a phone the privacy notice covers Back and part of Continue on sign-on

Where
Sign on to CIBC Online Banking
Seen at
Phone
Effort to fix
Medium
CIBC at phone size, the frame on what this finding is about: On a phone the privacy notice covers Back and part of Continue on sign-on.
Phone, 390 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

At 390 × 844 the Digital Preferences Notice is 390 × 438 px from y 406, over half of the screen. On the sign-on page it covers the Back button and the bottom 20 px of Continue.

Implication

A phone user has to deal with the notice before finishing sign-on.

Recommendation

Shorten the notice to a short bar at the foot of the screen, under about 200 px, with the policy text behind 'Manage preferences'.

Measured

  • Notice: 390 × 438 px of the 844 px screen

Finding 10Low

The Contact Us page shows no phone number until a topic is picked

Where
Contact us
Seen at
Desktop
Effort to fix
Small

Observation

Contact Us holds 34 phone links, and none is visible when the page loads. They sit under 'Find the right number to call', behind a 'Show me' list of 7 topics, 'Report fraud' among them.

Implication

A visitor who wants to report fraud or a lost card scrolls past 3 groups of how-to links, then opens a list, to find a number.

Recommendation

Show the main number for each of the 7 topics on the page, with 'Report fraud' first.

Measured

  • 34 tel links, 0 visible on load

Finding 11Medium

The branch locator's search box is named 'home.search.ariaLabel'

Where
Branch and ATM locator
Heuristic
Accessibility
Seen at
Phone
Effort to fix
Small
CIBC at phone size, the frame on what this finding is about: The branch locator's search box is named 'home.search.ariaLabel'.
Phone, 390 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

The branch locator's search box has the aria-label 'home.search.ariaLabel', a code key, at 1440, 820 and 390 px. The header's search box at 1440 and 820 px has 'header.form.search.ariaLabel'. The 'Filter' button is named 'Open search filters', and axe reports label-content-name-mismatch on it at 1440 px and on how-to card links named 'about how to...'.

Implication

A screen reader reads out a code key where it should ask for an address, on the box that starts a branch search. A voice-control user who says 'Filter' doesn't reach the button.

Recommendation

Replace both keys with real text, such as 'Search by address, city, postal code or transit number'. Start the filter button's label with its visible word, 'Filter'.

Measured

  • Search box name: home.search.ariaLabel
  • axe label-content-name-mismatch: 6 elements (serious)

Finding 12Medium

The locator's phone menu button has no name

Where
Branch and ATM locator
Heuristic
Accessibility
Seen at
Phone
Effort to fix
Small
WCAG 2.2
4.1.2 Name, Role, Value (level A)
CIBC at phone size, the frame on what this finding is about: The locator's phone menu button has no name.
Phone, 390 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

At 390 px the 42 × 42 px menu button on the branch locator has no text, label or title, and axe reports button-name (critical) there and on the branch page. It has aria-haspopup='true' and aria-pressed, which goes from 'false' to 'true' when it opens a panel of 9 items, and no aria-expanded.

Implication

A screen reader user on a phone hears a pressed or unpressed button with no name, and isn't told that it opens the menu.

Recommendation

Give the button the aria-label 'Menu', and use aria-expanded in place of aria-pressed, so it reads as a menu that opens and closes.

Measured

  • axe button-name, locator and branch page: 1 element each (critical)
  • aria-pressed changes; no aria-expanded

Finding 13Medium

The play button on the Accessibility at CIBC page has no name

Where
Accessibility at CIBC
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
CIBC at desktop size, the frame on what this finding is about: The play button on the Accessibility at CIBC page has no name.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

The video on Accessibility at CIBC has a 50 × 35 px play button with no text, label or title, and it takes keyboard focus. Its 569 × 316 px picture has no alt attribute. axe reports button-name and image-alt, both critical, at all 3 sizes.

Implication

A screen reader announces 'button' with nothing about the video, on the page a blind visitor opens to read about CIBC's accessibility.

Recommendation

Give the button an aria-label that names the video, such as 'Play video' followed by its title, and give the picture a description in its alt.

Measured

  • axe button-name: 1 element (critical)
  • axe image-alt: 1 element (critical)

Finding 14Medium

The points calculator's 3 lists and 5 sliders on the Adapta Mastercard page have no name

Where
Credit card detail: Adapta Mastercard
Heuristic
Accessibility
Seen at
Desktop
Effort to fix
Small
WCAG 2.2
4.1.2 Name, Role, Value (level A)
CIBC at desktop size, the frame on what this finding is about: The points calculator's 3 lists and 5 sliders on the Adapta Mastercard page have no name.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On the Adapta Mastercard page the points calculator has 3 category lists with no label, aria-label or title, and 5 sliders with no name. 'First top spend category' labels the amount box beside the first list, and the list itself has nothing. axe reports select-name (critical) on 3 elements and aria-input-field-name on 5 at all 3 sizes.

Implication

A screen reader user hears the selected category and can't tell which of the 3 picks they're changing. Each slider is announced with a value and no name.

Recommendation

Tie each list to the label above it with aria-labelledby, and give each slider an aria-label that names its category.

Measured

  • 3 lists and 5 sliders with no name
  • axe select-name: 3 elements (critical)
  • axe aria-input-field-name: 5 elements (serious)

Finding 15Low

The hours table on the Harwood branch page has code keys for column headers

Where
Location: Harwood Banking Centre, Ajax
Heuristic
Accessibility
Seen at
Tablet
Effort to fix
Small
WCAG 2.2
2.4.6 Headings and Labels (level AA)
CIBC at tablet size, the frame on what this finding is about: The hours table on the Harwood branch page has code keys for column headers.
Tablet, 820 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On the Harwood Banking Centre page the hours table's column headers are 'details.hours.table.day' and 'details.hours.table.bankingHours', code keys like the one on the locator's search box. They're hidden off-screen, so only assistive technology gets them.

Implication

A screen reader can read a code key beside each day and time, on the table a visitor opens to find out when the branch is open.

Recommendation

Replace the keys with 'Day' and 'Banking hours' in the branch page template.

Measured

  • Column headers: details.hours.table.day

Finding 16Low

A filter on the Search Results page is labelled 'tb-forms'

Where
Search results for 'chequing'
Seen at
Desktop
Effort to fix
Small
CIBC at desktop size, the frame on what this finding is about: A filter on the Search Results page is labelled 'tb-forms'.
Desktop, 1440 px wide, taken 30 October 2026. The frame marks what the finding is about.

Observation

On the results for 'chequing' the last filter reads 'tb-forms (1)', under readable ones such as 'Contact Us (1)'. I read this one query, so other queries' filters aren't checked.

Implication

A visitor can't tell what the filter holds.

Recommendation

Give the category a plain name, such as 'Forms', or leave it out of the filter list.

Measured

  • Filter label: 'tb-forms (1)'

What was examined

  1. Home
  2. Bank accounts
  3. Chequing accounts
  4. Chequing: Smart Plus Account
  5. Compare bank accounts
  6. Bank account selector
  7. Savings accounts
  8. Credit cards
  9. All credit cards
  10. Compare credit cards
  11. Credit card offer: Adapta Mastercard
  12. Rewards calculator
  13. Mortgages
  14. Compare mortgages
  15. Mortgage payment calculator
  16. Mortgage rates
  17. Bank account rates
  18. GIC rates
  19. Lines of credit
  20. Car loans
  21. Loan and line of credit calculator
  22. Insurance
  23. Travel medical insurance
  24. Investments
  25. TFSA
  26. GIC calculator
  27. Smart Advice
  28. How-to: deposit a cheque
  29. Search results
  30. Apply
  31. Apply: loan or line of credit, first step
  32. Sign on to CIBC Online Banking
  33. Contact us
  34. Branch and ATM locator
  35. ATM and branch network
  36. Mobile services
  37. Accessibility at CIBC
  38. Accueil (French home)
  39. Offres spéciales (French page)
  40. Credit card detail: Adapta Mastercard
  41. Location: Harwood Banking Centre, Ajax
  42. Search results for 'chequing'
  43. Compte Intelli CIBC (French product)

I didn’t observe real users. I examined only public pages, signed out, on the date shown and at the sizes listed. A browser took the measurements, and each finding gives its numbers.

Automated checks

Automated checks across the pages examined
Accessibility rules failed (axe)10 rules: 4 critical, 6 serious
Tap targets under 24 pixels The engine lists at most 10 per capture.124
Links that open a new tab108
Console errors on load250
The 10 rules, by impact, with the elements and pages each failed on
  1. aria-allowed-attr critical

    WCAG 4.1.2 Name, Role, Value (A) · 10 elements on 1 page: Search results for 'chequing'

  2. button-name critical

    WCAG 4.1.2 Name, Role, Value (A) · 3 elements on 3 pages: Branch and ATM locator; Accessibility at CIBC; Location: Harwood Banking Centre, Ajax

  3. image-alt critical

    WCAG 1.1.1 Non-text Content (A) · 3 elements on 2 pages: Rewards calculator; Accessibility at CIBC

  4. select-name critical

    WCAG 4.1.2 Name, Role, Value (A) · 3 elements on 1 page: Credit card detail: Adapta Mastercard

  5. link-name serious

    WCAG 2.4.4 Link Purpose (In Context) (A); WCAG 4.1.2 Name, Role, Value (A) · 25 elements on 6 pages: Home; Savings accounts; Search results; Accueil (French home); Offres spéciales (French page); Search results for 'chequing'

  6. label-content-name-mismatch serious

    WCAG 2.5.3 Label in Name (A) · 18 elements on 3 pages: All credit cards; Branch and ATM locator; Location: Harwood Banking Centre, Ajax

  7. target-size serious

    WCAG 2.5.8 Target Size (Minimum) (AA) · 15 elements on 3 pages: Savings accounts; GIC rates; Contact us

  8. nested-interactive serious

    WCAG 4.1.2 Name, Role, Value (A) · 13 elements on 1 page: GIC rates

  9. aria-input-field-name serious

    WCAG 4.1.2 Name, Role, Value (A) · 10 elements on 2 pages: Rewards calculator; Credit card detail: Adapta Mastercard

  10. color-contrast serious

    WCAG 1.4.3 Contrast (Minimum) (AA) · 3 elements on 1 page: Compare mortgages

The engine counted these on every page I examined, at all three sizes.

Other Banks and insurers analyses

  • Chase.com

    Chase.com blurs its CD rates behind a ZIP code prompt that × doesn't close, and on narrow screens its credit card list opens without an APR figure or annual fee amount.

  • RBCRoyalBank.com

    RBC’s home page names 3 article cards ‘object Object’, and the phone sign-in has a checkbox with no name beside a help button called ‘The svg icon help’.

  • Scotiabank.com

    Scotiabank.com’s header search box is named ‘trending search results below’, and the Personal Loan Calculator’s 3 inputs have no label.

  • TD.com

    TD.com’s EasyWeb sign-in page turns off pinch zoom, and a ‘Get started’ button on the chequing page is named ‘Earn 50% more Stars at Starbucks Learn more’.

Read every Banks and insurers analysis