<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>16186</bug_id>
          
          <creation_ts>2012-03-01 19:58:45 +0000</creation_ts>
          <short_desc>HTML 5 missing explicit directives for support full keyboard access (FKA) when navigating to a fragment identifier</short_desc>
          <delta_ts>2016-02-26 19:32:04 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>HTML5 spec</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=17450</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>whatwg-resolved</status_whiteboard>
          <keywords>a11y, a11ytf, a11y_focus</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="Charles McCathieNevile">chaals</assigned_to>
          <cc>chaals</cc>
    
    <cc>contributor</cc>
    
    <cc>d</cc>
    
    <cc>eoconnor</cc>
    
    <cc>faulkner.steve</cc>
    
    <cc>hans.hillen</cc>
    
    <cc>ian</cc>
    
    <cc>jason</cc>
    
    <cc>jcraig</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>taken.spc</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64853</commentid>
    <comment_count>0</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2012-03-01 19:58:45 +0000</bug_when>
    <thetext>HTML 5 missing explicit directives for support full keyboard access (FKA) when navigating to a fragment identifier:

Following a hyperlink:
http://www.w3.org/TR/html5/links.html#following-hyperlinks
&quot;When a user follows a hyperlink created by an element, the user agent must resolve the URL given by the href attribute of that element, relative to that element, and if that is successful, must navigate a browsing context to the resulting absolute URL.&quot;

Navigate:
http://www.w3.org/TR/html5/history.html#navigate
&quot;Fragment identifiers: If the absolute URL of the new resource is the same as the address of the active document of the browsing contextbeing navigated, ignoring any &lt;fragment&gt; components of those URLs, and the new resource is to be fetched using HTTP GET or equivalent, and the absolute URL of the new resource has a &lt;fragment&gt; component (even if it is empty), then navigate to that fragment identifier and abort these steps.&quot;

Navigating to a fragment identifier:
http://www.w3.org/TR/html5/history.html#scroll-to-fragid
&quot;When the user agent is required to scroll to the fragment identifier, it must change the scrolling position of the document using the scroll an element into view algorithm defined in the CSSOM View specification, or perform some other action, such that the indicated part of the document is brought to the user&apos;s attention.&quot;

The phrase &quot;perform some other action such that…[the anchor]…is brought to the user&apos;s attention&quot; is vague, but focusing the anchor is clearly the action that should be performed if full keyboard access (FKA) is enabled.

Filing this defect against HTML 5 Accessibility to get the spec to explicitly state the UA must move focus to that element if focusable, and perhaps something about moving the browsing context focus there even if it&apos;s not &quot;focusable&quot; and therefore can&apos;t provide a DOM focus event. For example, if the linked anchor is a non-focusable heading, pressing Tab should move to the next focusable item past the heading, even if the heading itself was not the focused document.activeElement.

This should also cover the case were a user just loads a URL with a fragID (like the ones above) without actually clicking the link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64936</commentid>
    <comment_count>1</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-03-02 20:29:57 +0000</bug_when>
    <thetext>EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: This is a UI issue, we can&apos;t and shouldn&apos;t require a particular behaviour. It&apos;s up to the UA to do what they think is best for their users.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64937</commentid>
    <comment_count>2</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2012-03-02 21:03:06 +0000</bug_when>
    <thetext>If you really believe that, you should take out the requirement to scroll the view, too. Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65837</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Cooper">cooper</who>
    <bug_when>2012-03-20 15:22:23 +0000</bug_when>
    <thetext>Discussed in HTML Accessibility TF bug triage meeting 20 March 2012 http://www.w3.org/2012/03/20-a11y-bugs-minutes.html. We agree with the focus suggestions. We had questions about what truly should be left to the User Agent / User Interface, vs what should spec&apos;d. We see need for UAs to distinguish on UI but setting focus is not a UI thing per se, it&apos;s a core accessibility need. How UAs do that specifically can be the UI differentiation. Therefore this is an issue the HTML A11y TF should follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65841</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2012-03-20 15:35:15 +0000</bug_when>
    <thetext>*** Bug 16385 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65842</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Pieters">zcorpan</who>
    <bug_when>2012-03-20 15:38:09 +0000</bug_when>
    <thetext>I think this isn&apos;t purely UI since focus is exposed to scripts.

(Make sure this works also &quot;If the scrolling fails because the relevant ID has not yet been parsed&quot; if you spec this.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70436</commentid>
    <comment_count>6</comment_count>
    <who name="">contributor</who>
    <bug_when>2012-07-18 07:29:28 +0000</bug_when>
    <thetext>This bug was cloned to create bug 17987 as part of operation convergence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72828</commentid>
    <comment_count>7</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2012-08-27 18:16:57 +0000</bug_when>
    <thetext>*** Bug 17987 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116491</commentid>
    <comment_count>8</comment_count>
    <who name="Charles McCathieNevile">chaals</who>
    <bug_when>2014-12-18 15:12:56 +0000</bug_when>
    <thetext>The current spec has:
1. Let target be the indicated part of the document, as defined below.
2. If target is the top of the document, then scroll to the beginning of the document for the Document, and abort these steps. [CSSOMVIEW]
3. Use the scroll an element into view algorithm to scroll target into view, with the align to top flag set. [CSSOMVIEW]
4. If target is a focusable element, run the focusing steps for that element.

Seems to me that this meets the request. James?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116492</commentid>
    <comment_count>9</comment_count>
    <who name="Charles McCathieNevile">chaals</who>
    <bug_when>2014-12-18 15:13:46 +0000</bug_when>
    <thetext>Sorry, link for previous statement: http://www.w3.org/TR/html5/browsers.html#scroll-to-fragid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120936</commentid>
    <comment_count>10</comment_count>
    <who name="Charles McCathieNevile">chaals</who>
    <bug_when>2015-06-12 14:25:13 +0000</bug_when>
    <thetext>If the target isn&apos;t a focusable element, focus should go to the first thing after the fragment...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125248</commentid>
    <comment_count>11</comment_count>
    <who name="Takeshi Kurosawa">taken.spc</who>
    <bug_when>2016-02-24 04:15:51 +0000</bug_when>
    <thetext>FYI: WHATWG HTML Standard is discussing this issue at
https://github.com/whatwg/html/pull/726</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125276</commentid>
    <comment_count>12</comment_count>
    <who name="Charles McCathieNevile">chaals</who>
    <bug_when>2016-02-26 19:32:04 +0000</bug_when>
    <thetext>Should be fixed by https://github.com/w3c/html/pull/103 (which matches Takeshi&apos;s change)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>