Understanding Visio Navigation Order

Visio defaults to tabbing from shape to shape in the order that the shapes are added to the page. However, this can end up with an illogical order if you are trying to navigate a diagram with the keyboard, which is often an accessibility requirement. Fortunately, Visio provides a Diagram Navigation pane so that the tab order can be changed, but how does it do it? The following short video shows how the navigation order, displayed as numbers in each shape, is assigned a value as soon as the order is edited.

Accessibility is important in my current project, so understanding how this happens was important to understand, and to surface this order to JavaScript, as we want to list the shapes in a logical order too.

I managed this by adding a User.visNavOrder to the master shape of all the significant masters, and a hidden Shape Data row, labelled “Navigation Order“. This has the following formula for its value:


If User.visNavOrder is not already present in a shape, then Visio will automatically add it when the View / Show / Task Panes / Diagram Navigation panel is used. However, I need it to already exist so that a Shape Data row can reference it, because Shape Data rows are exposed to the Visio Online JavaScript API and User-defined Cells are not. Then the order of the shapes collection can be made to match the tab order in the diagram.

In the above video clip, the Navigation Order Shape Data row is displayed as text on each shape so that it is clear how Visio is automatically assigning values to User.visNavOrder when the Diagram Navigation panel is used.

In addition to each shape getting the User.visNavOrder cell, the page itself gets a User.visNavType cell with a value of 1. Setting this value to 0 will suspend the update of the User.visNavOrder cells in the shapes until the Diagram Navigation panel is used to manipulate the order again, which will set the value back to 1 again.

Ensuring Accessibility in Visio

Make your Visio diagram accessible to people with disabilities

Ensuring High Contrast Text in Visio Shapes



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


O365 and SharePoint

Simplify Tasks

Want to learn the simple way?

Paul Turley's SQL Server BI Blog

sharing my experiences with the Microsoft data platform, SQL Server BI, Data Modeling, SSAS Design, Power Pivot, Power BI, SSRS Advanced Design, Power BI, Dashboards & Visualization since 2009

John Goldsmith's visLog

be smart, be clear, be visual ...

Mo's blog

Personal views on Dynamics 365 for Operations and Technical Architecture.

Chris Webb's BI Blog

Microsoft Power BI, Analysis Services, MDX, DAX, M, Power Pivot and Power Query


Azure Solutions for Office 365, and more...

Rob Fahrni



Life with Visio and other Microsoft Toys!

Nilsandrey's Weblog

Just another WordPress.com weblog

Things that Should be Easy

Every so often (too often in the IT industry) I encounter things that should have been very easy to do but turned out to be far too complicated. My favorite topics include SharePoint, .Net development, and software architecture, especially distributed systems.

Visio Guy

Smart graphics for visual people

%d bloggers like this: