Skip to content
Merged
Changes from 18 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
417b9ff
Add notes to 2.4.3 understanding
patrickhlauke Feb 15, 2021
3d08ead
Tweak note about redundant focus stops
patrickhlauke Feb 15, 2021
d0138bd
Expand note to mention "card" component, give code example for nested…
patrickhlauke Feb 15, 2021
7cd188a
Remove the "redundant" part
patrickhlauke May 11, 2022
8be23bd
Remove "normatively"
patrickhlauke May 11, 2022
29dcb88
Tweak language based on suggestions from @alastc @mbgower @bruce-usab
patrickhlauke May 14, 2022
c3e0403
Fix spacing/indentation
patrickhlauke May 14, 2022
147b6fe
Tweak/expand the "western left-to-right" part
patrickhlauke May 19, 2022
0028075
Update focus-order.html
mbgower Aug 2, 2022
8667b31
Update focus-order.html
mbgower Aug 2, 2022
d0382d3
Update understanding/20/focus-order.html
patrickhlauke Jun 19, 2023
9f7feb7
Remove unnecessary "unnecessarily"
patrickhlauke Jun 27, 2023
083dbab
Update understanding/20/focus-order.html
alastc Jun 27, 2023
d841c2a
Tweaks/rewordings
patrickhlauke Jul 5, 2023
61fda92
Capitalisation
patrickhlauke Jul 6, 2023
116e230
"too many" > "unwarranted"
patrickhlauke Jul 7, 2023
aa6dcd8
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Oct 31, 2023
3e33e78
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Feb 15, 2024
14dc43e
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Aug 29, 2024
df6eed7
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Jan 22, 2025
42da714
Update understanding/20/focus-order.html
patrickhlauke Jan 22, 2025
ad8f4fb
Update understanding/20/focus-order.html
patrickhlauke Jan 22, 2025
dc8904c
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Mar 28, 2025
18d56fe
Update understanding/20/focus-order.html
patrickhlauke Jul 29, 2025
509dad6
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Aug 5, 2025
b3cecfb
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Sep 5, 2025
7fd76fa
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Sep 26, 2025
526ced4
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
patrickhlauke Oct 17, 2025
d077606
Update understanding/20/focus-order.html
mbgower Oct 17, 2025
8170927
Update understanding/20/focus-order.html
mbgower Oct 17, 2025
f2c00e2
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
mbgower Oct 17, 2025
1defc51
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
mbgower Oct 31, 2025
dcbbb0c
Add missing language-html class to new code block
kfranqueiro Oct 31, 2025
cdd58fe
Merge branch 'main' into patrickhlauke-understanding-focus-order-note
mbgower Oct 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 36 additions & 26 deletions understanding/20/focus-order.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@ <h2>In brief</h2>
</dl>

</section>
<section id="intent">

<section id="intent">
<h2>Intent of Focus Order</h2>


<p>The intent of this Success Criterion is to ensure that when users navigate sequentially
through content, they encounter information in an order that is consistent with the
meaning of the content and can be operated from the keyboard. This reduces confusion
Expand Down Expand Up @@ -64,30 +63,54 @@ <h2>Intent of Focus Order</h2>
sets of users and does not appear to either of them to jump around randomly.
</p>

<p>Focus order needs to allow the user to navigate focusable elements in a logical order,
and that order needs to preserve any meaning or operation that the page is conveying.
Focus order does not necessarily need to follow the visual layout of the web page,
as long as the order in which elements receive focus is logical, and the hierarchy and relationship
of content implied by the visual presentation is preserved. For instance, in a two-column
layout, the assumption in western left-to-right systems may be that focus moves through the elements in the
left-hand column first, from the top to the bottom of the column, and then proceed to the right-hand column.
However, if the two columns are independent of each other, and meaning/operation are not affected, it is not
a failure if elements in the right-hand column receive focus first, followed by the elements in the left-hand column.
As a best practice, though, make sure the focus order reinforces the reading order implied by the visual layout.
</p>

<div class="note">
<p>It is not a failure of this Success Criterion if static/non-interactive content
receives focus. Making an element that does not act as an actionable user interface component
focusable, or programmatically moving focus to such an element, does not necessarily constitute
a failure of this Success Criterion. This situation is a failure if these additional focus stops
impede the operation of the content, or create confusing and/or illogical focus orders - for example,
Comment thread
patrickhlauke marked this conversation as resolved.
Outdated
Comment thread
patrickhlauke marked this conversation as resolved.
Outdated
a control appearing to receive focus multiple times due to the use of nested focusable elements.</p>
Comment thread
mbgower marked this conversation as resolved.
<pre><code>&lt;div tabindex="0"&gt;&lt;button&gt;...&lt;/button&gt;&lt;/div&gt;</code></pre>
<p>As a best practice, avoid having unwarranted focusable elements which cannot be operated
Comment thread
mbgower marked this conversation as resolved.
Outdated
or actioned, as these are likely to make operation tedious for keyboard users.</p>
</div>

<p>For clarity:</p>

<ul>

<li>Focusable components need to receive focus in an order that preserves meaning and
operability only when navigation sequences affect meaning and operability.
operability.
</li>

<li>In those cases where it is required, there may be more than one order that will preserve
meaning and operability.
</li>
<li>Focus order does not necessarily need to follow the visual presentation or layout.</li>

<li>If there is more than one order that preserves meaning and operability, only one of
them needs to be provided.
</li>

<li>Static/non-interactive elements can receive focus, as long as they don't significantly
impede operation of the content.
</li>
Comment thread
patrickhlauke marked this conversation as resolved.
Outdated

</ul>



</section>
<section id="benefits">
<h2>Benefits of Focus Order</h2>


<p>These techniques benefit keyboard users who navigate documents sequentially and expect
the focus order to be consistent with the sequential reading order.
</p>
Expand Down Expand Up @@ -180,7 +203,6 @@ <h2>Examples of Focus Order</h2>
<section id="resources">
<h2>Resources for Focus Order</h2>


</section>

<section id="techniques">
Expand All @@ -194,11 +216,10 @@ <h3>Sufficient Techniques for Focus Order</h3>
<ul>

<li>

<a href="../Techniques/general/G59" class="general">Placing the interactive elements in an order that follows sequences and relationships
within the content
</a>

</li>

<li>
Expand All @@ -210,9 +231,7 @@ <h3>Sufficient Techniques for Focus Order</h3>
<ul>

<li>

<a href="../Techniques/css/C27" class="css">Making the DOM order match the visual order</a>

</li>

<li>
Expand All @@ -232,23 +251,17 @@ <h3>Sufficient Techniques for Focus Order</h3>
<ul>

<li>

<a href="../Techniques/client-side-script/SCR26" class="script">Inserting dynamic content into the Document Object Model immediately following its
trigger element
</a>

</li>

<li>

<a href="../Techniques/HTML/H102" class="script">Creating modal dialogs with the HTML dialog element</a>

</li>

<li>

<a href="../Techniques/client-side-script/SCR27" class="script">Reordering page sections using the Document Object Model</a>

</li>

</ul>
Expand All @@ -267,23 +280,20 @@ <h3>Additional Techniques (Advisory) for Focus Order</h3>
<section id="failure">
<h3>Failures for Focus Order</h3>


<ul>

<li>

<a href="../Techniques/failures/F44" class="failure">Failure of 2.4.3 due to using tabindex to create a tab order that does not preserve
meaning and operability
</a>

</li>

<li>

<a href="../Techniques/failures/F85" class="failure">Failure of Success Criterion 2.4.3 due to using dialogs or menus that are not adjacent
to their trigger control in the sequential navigation order
</a>

</li>

</ul>
Expand Down