<?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>14419</bug_id>
          
          <creation_ts>2011-10-10 23:21:12 +0000</creation_ts>
          <short_desc>when canvas isn&apos;t supported, or for blind users, the canvas element&apos;s content should be displayed, so excluding input types like text and select is discriminatory</short_desc>
          <delta_ts>2012-11-15 21:35:50 +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>Other</rep_platform>
          <op_sys>other</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/#the-canvas-element</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>a11y, a11ytf, a11y_canvas</keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>contributor</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>cooper</cc>
    
    <cc>franko</cc>
    
    <cc>ian</cc>
    
    <cc>jackalmage</cc>
    
    <cc>jsalsman</cc>
    
    <cc>laura.lee.carlson</cc>
    
    <cc>lwatson</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-a11y</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</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>58016</commentid>
    <comment_count>0</comment_count>
    <who name="">contributor</who>
    <bug_when>2011-10-10 23:21:12 +0000</bug_when>
    <thetext>Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
Multipage: http://www.whatwg.org/C#the-canvas-element
Complete: http://www.whatwg.org/c#the-canvas-element

Comment:
when canvas isn&apos;t supported, or for blind users, the canvas element&apos;s content
should be displayed, so excluding input types like text and select is
discriminatory

Posted from: 67.6.175.132
User agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58017</commentid>
    <comment_count>1</comment_count>
    <who name="Tab Atkins Jr.">jackalmage</who>
    <bug_when>2011-10-11 00:08:34 +0000</bug_when>
    <thetext>The point of that restriction is that you shouldn&apos;t try to re-implement &lt;input type=text&gt; or &lt;select&gt; in &lt;canvas&gt; at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58021</commentid>
    <comment_count>2</comment_count>
    <who name="James Salsman">jsalsman</who>
    <bug_when>2011-10-11 00:36:06 +0000</bug_when>
    <thetext>Tab, as I understand the situation, the content of the canvas element is displayed as an alternative when the canvas element can not or should not be displayed.  Forbidding an arbitrary set of elements disadvantages those who do not have canvas support or eyesight.  What does forbidding such elements do to prevent reimplementable of them in Canvas?  If there is a canvas application which allows sighted people to paint a picture but people without canvas support or eyesight to provide text instead, there is no reason to forbid that, is there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58024</commentid>
    <comment_count>3</comment_count>
    <who name="Tab Atkins Jr.">jackalmage</who>
    <bug_when>2011-10-11 00:50:47 +0000</bug_when>
    <thetext>No, it doesn&apos;t disadvantage anyone, because those types of inputs should just be handled as normal HTML.

It&apos;s practically impossible for web devs to actually implement the equivalent to &lt;input type=text&gt; in canvas.  That little element has massively complicated interactions with lots of things, and is still sometimes buggy in the details in modern browsers which have had tens or hundreds of browser-dev-hours devoted to working on it.

If a drawing application is implementable in text, it&apos;s almost certainly going to be a bad experience if the text-based editor is running at the same time as the canvas-based editor.  If it *can* be run at the same time (say, perhaps it&apos;s just a REPL-like interface to the canvas), then it&apos;s not fallback, it&apos;s an alternative input method that can be useful to sighted users as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58026</commentid>
    <comment_count>4</comment_count>
    <who name="Frank Olivier">franko</who>
    <bug_when>2011-10-11 02:13:08 +0000</bug_when>
    <thetext>Splitting the OR and addressing the two statements:
&quot;when canvas isn&apos;t supported - the canvas element&apos;s content should be displayed, so excluding input types like text and select is discriminatory&quot;
If the UA doesn&apos;t support canvas, the &apos;fallback&apos; content is displayed. At the moment there is nothing in the spec that prohibits authors from adding input type=text in this scenario; but I would imagine that they would create the same solution for non-canvas UAs and a11y fallback content scenarios.

&quot;For blind users - the canvas element&apos;s content should be displayed, so excluding input types like text and select is discriminatory&quot;
As Tab points out, recreating text editing in canvas is not possible; the author would not be able to recreate all the features on the UA&apos;s platform that aid text entry/editing.

Limiting input type=text in this scenario makes sense, as we don&apos;t want authors created halfbaked solutions where better alternatives are clearly available. 

FWIW I have not seen any projects where authors are recreating text input/editing with canvas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58027</commentid>
    <comment_count>5</comment_count>
    <who name="James Salsman">jsalsman</who>
    <bug_when>2011-10-11 03:11:00 +0000</bug_when>
    <thetext>Why do people think this has anything to do with reimplementing forms with canvas?

The issue here is that sometimes a canvas will be unavailable or unusable, and in that case, why would you want to forbid a form asking for an email address or selecting from a list?

I agree that implementing forms with canvas is a bad idea, but removing legitimate functions that would help the blind and people on text mode browsers is not going to do a thing to make that less likely.

This is like building a fence around the tractor shed to keep the cows in the barn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58030</commentid>
    <comment_count>6</comment_count>
    <who name="Tab Atkins Jr.">jackalmage</who>
    <bug_when>2011-10-11 04:18:33 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; Why do people think this has anything to do with reimplementing forms with
&gt; canvas?
&gt; 
&gt; The issue here is that sometimes a canvas will be unavailable or unusable, and
&gt; in that case, why would you want to forbid a form asking for an email address
&gt; or selecting from a list?

A canvas can&apos;t be &quot;unavailable&quot;.  When a canvas is unusable, the fallback content is meant to represent the same thing as the canvas.  How is a text input in the fallback supposed to represent anything on the canvas other than a canvas-implemented text input?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58056</commentid>
    <comment_count>7</comment_count>
    <who name="James Salsman">jsalsman</who>
    <bug_when>2011-10-11 15:48:33 +0000</bug_when>
    <thetext>In a text mode browser or a browser with images disabled due to user option selection or prohibitively low bandwidth, the canvas is technically usable but unavailable.  It is available but unusable for the blind.

&gt; When a canvas is unusable, the fallback content is meant
&gt; to represent the same thing as the canvas.

Where are you reading that?  It&apos;s mistaken.

&gt; How is a text input in the fallback supposed to represent anything
&gt; on the canvas other than a canvas-implemented text input?

For example, suppose a custom bookcase vendor asks customers to sketch their wall and neighboring furniture configuration and locations of wall studs on a canvas element.  Can you think of any better fallback content than a form for their phone number and/or email so that they might be contacted by a designer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58058</commentid>
    <comment_count>8</comment_count>
    <who name="Tab Atkins Jr.">jackalmage</who>
    <bug_when>2011-10-11 16:09:56 +0000</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; When a canvas is unusable, the fallback content is meant
&gt; &gt; to represent the same thing as the canvas.
&gt; 
&gt; Where are you reading that?  It&apos;s mistaken.

The spec. &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element&gt;

&quot;When authors use the canvas element, they must also provide content that, when presented to the user, conveys essentially the same function or purpose as the bitmap canvas. This content may be placed as content of the canvas element. The contents of the canvas element, if any, are the element&apos;s fallback content.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58061</commentid>
    <comment_count>9</comment_count>
    <who name="James Salsman">jsalsman</who>
    <bug_when>2011-10-11 16:25:36 +0000</bug_when>
    <thetext>&gt; &quot;When authors use the canvas element, they must also provide content that, when
&gt; presented to the user, conveys essentially the same function or purpose....

I see; &quot;essentially the same purpose&quot; is not &quot;the same thing&quot;.  Please make the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58679</commentid>
    <comment_count>10</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-10-21 22:55:07 +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: It can&apos;t be &quot;the same thing&quot;, since the &quot;same thing&quot; would be a picture, and the whole point of the fallback is to not display a picture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61606</commentid>
    <comment_count>11</comment_count>
    <who name="Michael[tm] Smith">mike</who>
    <bug_when>2011-12-15 16:30:00 +0000</bug_when>
    <thetext>We discussed this on the the a11y TF call this week and we believe this bug looks like it is related to issue 131 or duplicating it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78374</commentid>
    <comment_count>12</comment_count>
    <who name="Léonie Watson">lwatson</who>
    <bug_when>2012-11-15 21:35:50 +0000</bug_when>
    <thetext>Comment via Rich Schwerdtfeger:

This text exists in the canvas element specification: 
&quot;When authors use the 
canvas
 element, they must also provide content that, when presented to the user, conveys essentially the same function or purpose as the bitmap canvas. This
content may be placed as content of the 
canvas
 element. The contents of the 
canvas
 element, if any, are the element&apos;s 
fallback content.&quot;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>