Results of Questionnaire ISSUE-100: Removing the srcdoc attribute - Straw Poll for Objections

The results of this questionnaire are available to anybody.

This questionnaire was open from 2010-08-04 to 2010-08-11.

8 answers have been received.

Jump to results for question:

  1. Objections to the Change Proposal to remove the srcdoc attribute
  2. Objections to the Change Proposal to retain the srcdoc attribute

1. Objections to the Change Proposal to remove the srcdoc attribute

We have a Change Proposal to remove the srcdoc attribute. If you have strong objections to adopting this Change Proposal, please state your objections below.

Keep in mind, you must actually state an objection, not merely cite someone else. If you feel that your objection has already been adequately addressed by someone else, then it is not necessary to repeat it.


Responder Objections to the Change Proposal to remove the srcdoc attribute
Kornel Lesinski Proposal is invalid. It debates usefulness of iframe sandboxes, not srcdoc attribute.

Most arguments put forward in the proposal are irrelevant to srcdoc. Even if srcdoc was removed as requested, authors would still be able to secure unsanitised weblog comments using <iframe sandbox src>.

Requested change will not remove the feature that this proposal is actually objecting to.

Goals of srcdoc are: provide better backwards compatibility, more convenient escaping, reduce number of HTTP requests and remove need for special MIME types for sandboxed content.

The proposal doesn't discuss HTTP-related problems (which arise if src is used instead of srcdoc).

XHTML escaping is a red herring. It's not limited to srcdoc -- all XHTML attributes require correct escaping and character encoding. Every XHTML CMS must deal with this problem, whether it uses srcdoc or not.

The only fragment that discusses backwards compatibility states a problem that srcdoc is meant to solve: "data [URI] would be printed out without the security controls in legacy browsers".
Anne van Kesteren Although it does not have much priority at the moment, Opera is interested in implementing this feature in due course. We think it makes sense sense as a way of embedding insecure data in an HTML document without requiring extra network traffic. We would therefore like it to remain in the W3C draft.
Jirka Kosek
Julian Reschke
Aryeh Gregor Two rendering engines, accounting for three of the five largest browsers, are interested in implementing srcdoc. Neither has indicated that they will refrain from implementing it if it's taken out of the W3C spec. I strongly object to removing any feature from the HTML5 spec if browsers plan to implement it or already have, unless it's added to some other W3C spec, because

1) It exposes implementers and authors to patent risk. A major reason for the W3C's existence is to ensure that the web platform can be implemented by any party royalty-free, and the W3C patent policy is a key tool in that effort. Every part of the web platform that is not in some W3C specification increases patent risks for implementers and authors, harming the openness of the web.

2) It will increase divergence between the W3C and WHATWG copies of the HTML specification. This increases author confusion and makes the W3C copy of the standard less useful, as it grows less comprehensive. The HTMLWG's charter also encourages it to pursue convergence with the WHATWG. Hixie has implied that he will retain srcdoc in the WHATWG version even if it's removed from the W3C version: http://krijnhoetmer.nl/irc-logs/whatwg/20100804#l-884

It is not clear to me whether srcdoc will be widely used or not, or whether it will be implemented in all UAs. However, we don't need to decide that right now. The feature will be removed during CR if it doesn't have enough implementations, and there's no good reason to remove it now rather than later. I suggest that the question of whether to remove the feature be deferred until later in the HTML5 spec's development, with the explicit understanding that if enough time passes without implementer adoption, that will be sufficient grounds to revisit the issue.
Tab Atkins Jr. Webkit is interested in implementing @srcdoc, and has an engineer working on it right now.
Samuel Weinig @srcdoc provides a useful addition to the web platform, especially when taken in conjunction with @seamless and @sandbox, to provide low overhead (in terms of HTTP traffic) embedded content. It also provides an avenue for authors to provide content that is only visible to @sandbox aware browsers (as long as user-agents are sure to implement both @sandbox and @srcdoc). Apple is interested in implementing this.
Adam Barth This change proposal reads more like a rant than a technically tight argument for removing the srcdoc attribute. The author seems concerned that not enough folks are interested in the feature for it to be worth including the the spec. In isolation, I might agree with the author, but in combination with @sandbox and @seamless, I think @srcdoc has a lot of value. Certainly removing @srcdoc decreases the value of @sandbox and @seamless significantly.

On balance, I object to @srcdoc being removed from the spec because it's an important piece of the sandbox/seamless/srcdoc package.

Detailed comments below:

The supposed use case for this attribute is weblog comments, but concerns about
HTML security have been resolved with weblog and other application comments
years ago.

That's just patently ridiculous. Cross-site script remains a top security issue with web applications (including blogs) according to many authorities. For example, <http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project> ranks it as #2.

I asked Matt Mullenweg[5], the creator of WordPress, ...

Wordpress is notorious for cross-site scripting (and other) vulnerabilities. Appealing to the creator of WordPress as an authority on security is pretty funny.

This attribute can't be used effectively for potentially years in the future, because web browsers don't print out what's contained in the attributes—not unless specifically directed to do so[8].

That's the case for almost every new feature we add to the web platform. Improving the platform is investing in the future, not the present. If we accepted this rationale, we should remove all new features and go back to the stone age.

Instead of embedding markup in the attribute—something that has been actively discouraged for some time— we can use a data URI with the src attribute

There's been a lot of discussion in the working group about using data URLs instead of srcdoc. Sure, that works, but it's a lot less convenient for authors. For example, if you store HTML data in a database and you want to render it in a sandboxed iframe, you can shove the data into the srcdoc attribute via the DOM and everything works great. There's no need for escaping or encoding. However, if you want to use data URLs, you need to at least URL-escape the HTML first.

I find it unlikely that any approach related to the iframe and sandboxing will ever be used with weblog comments,

That's just pure opinion. I'd rather we based decisions on technical merit rather than opinion.

2. Objections to the Change Proposal to retain the srcdoc attribute

We have a Change Proposal to retain the srcdoc attribute. If you have strong objections to adopting this Change Proposal specifically with respect to the figure element, please state your objections below.

Keep in mind, you must actually state an objection, not merely cite someone else. If you feel that your objection has already been adequately addressed by someone else, then it is not necessary to repeat it.


Responder Objections to the Change Proposal to retain the srcdoc attribute
Kornel Lesinski
Anne van Kesteren
Jirka Kosek I object to retaining srcdoc attribute. Inserting escaped markup into another markup is a bad practice. Markup should be inserted directly as a subtree without any need for escaping. Such content can be parsed directly without need for invocation of another parser instance for content of @srcdoc. Moreover escaped markup in an attribute value is not directly exposed in any widely used API or tree-based data model, including for example DOM, SAX, XDM.
Julian Reschke It is true that parts of the Change Proposal to remove @srcdoc actually question the usefulness of sandboxed iframes. But that doesn't make the points invalid, they simply need to be evaluated given that context.

If sandboxed iframes are not as useful as advertised (and it doesn't seem this was challenged enough), it might be absolutely the right thing to keep them, but to reduce their badness that we see in @srcdoc (markup in attributes is *the* anti pattern when defining markup languages, right?).
Aryeh Gregor
Tab Atkins Jr.
Samuel Weinig
Adam Barth

More details on responses

  • Kornel Lesinski: last responded on 4, August 2010 at 19:47 (UTC)
  • Anne van Kesteren: last responded on 4, August 2010 at 21:19 (UTC)
  • Jirka Kosek: last responded on 5, August 2010 at 08:10 (UTC)
  • Julian Reschke: last responded on 5, August 2010 at 14:42 (UTC)
  • Aryeh Gregor: last responded on 8, August 2010 at 19:54 (UTC)
  • Tab Atkins Jr.: last responded on 10, August 2010 at 17:25 (UTC)
  • Samuel Weinig: last responded on 12, August 2010 at 00:34 (UTC)
  • Adam Barth: last responded on 12, August 2010 at 04:57 (UTC)


The following persons have not answered the questionnaire:

  1. Tantek Çelik <tantek@cs.stanford.edu>
  2. Patrick D F Ion <pion@umich.edu>
  3. Judy Brewer <jbrewer@w3.org>
  4. Liam Quin <liam@w3.org>
  5. Richard Ishida <ishida@w3.org>
  6. Chris Wilson <cwilso@google.com>
  7. David Carlisle <davidc@nag.co.uk>
  8. James Helman <jhelman@movielabs.com>
  9. Jim Allan <jimallan@tsbvi.edu>
  10. Chris Marrin <cmarrin@apple.com>
  11. Charles McCathie Nevile <chaals@yandex.ru>
  12. Philippe Le Hégaret <plh@w3.org>
  13. Don Brutzman <brutzman@nps.edu>
  14. T.V. Raman <raman@google.com>
  15. David Singer <singer@apple.com>
  16. Daniel Glazman <daniel.glazman@disruptive-innovations.com>
  17. Karl Dubost <karl@la-grange.net>
  18. Ian Hickson <ian@hixie.ch>
  19. Wu Chou <wu.chou@huawei.com>
  20. Katsuhiko Momoi <momoi@google.com>
  21. Kangchan Lee <chan@w3.org>
  22. Roy Fielding <fielding@gbiv.com>
  23. Deborah Dahl <dahl@conversational-technologies.com>
  24. Michael Cooper <cooper@w3.org>
  25. Glenn Adams <glenn@skynav.com>
  26. Jonathan Jeon <hollobit@etri.re.kr>
  27. David Hyatt <hyatt@apple.com>
  28. WonSuk Lee <wonsuk.lee@etri.re.kr>
  29. Maciej Stachowiak <mjs@apple.com>
  30. Robert Accettura <robert@accettura.com>
  31. Jonathan Watt <jwatt@jwatt.org>
  32. Steve Faulkner <faulkner.steve@gmail.com>
  33. Emmanuelle Gutiérrez y Restrepo <emmanuelle@sidar.org>
  34. Patrick Lauke <redux@splintered.co.uk>
  35. David MacDonald <David100@sympatico.ca>
  36. Jack Jansen <jack@cwi.nl>
  37. Kazuhito Kidachi <k-kidachi@mitsue.co.jp>
  38. Markku Hakkinen <mhakkinen@ets.org>
  39. Jens Oliver Meiert <jens@meiert.com>
  40. Kazuyuki Ashimura <ashimura@w3.org>
  41. Han Xu <collin@w3china.org>
  42. Sam Ruby <rubys@intertwingly.net>
  43. Mark Crawford <mark.crawford@sap.com>
  44. Preety Kumar <preety.kumar@deque.com>
  45. Ian Fette <ifette@google.com>
  46. Cameron McCormack <cam@mcc.id.au>
  47. Stefan Schnabel <stefan.schnabel@sap.com>
  48. Travis Leithead <Travis.Leithead@microsoft.com>
  49. Youngsun Ryu <ysryu@samsung.com>
  50. Sierk Bornemann <sierkb@gmail.com>
  51. James Graham <james@hoppipolla.co.uk>
  52. Henri Sivonen <hsivonen@hsivonen.fi>
  53. Krijn Hoetmer <w3c@qontent.nl>
  54. Channy Yun <channy@gmail.com>
  55. Shane Thacker <shanethacker@gmail.com>
  56. Vilem Malek <murphy@malek.cz>
  57. Zhihong Mao <zhihong.mao@gmail.com>
  58. Benoit Piette <benoit.piette@gmail.com>
  59. Erik van Kempen <erikvankempen@gmail.com>
  60. Dimitri Glazkov <dglazkov@google.com>
  61. Nick Fitzsimons <w3@nickfitz.co.uk>
  62. Josh Lawton <w3c@joshlawton.com>
  63. S Emerson <w3c@accretewebsolutions.ca>
  64. Theresa O'Connor <eoconnor@apple.com>
  65. Justin Anthony Knapp <justinkoavf@gmail.com>
  66. Simon Myers <Smylers@stripey.com>
  67. Alexey Proskuryakov <ap@webkit.org>
  68. Alejandro Fernandez <alejandro@mediadvanced.com>
  69. Doug Jones <doug_b_jones@me.com>
  70. Marc Drumm <mdrumm@wcupa.edu>
  71. Danny Liang <danny.glue@gmail.com>
  72. Michael Puls II <shadow2531@gmail.com>
  73. Ron Reisor <ron@udel.edu>
  74. Craig Buckler <craigbuckler@gmail.com>
  75. Dale Hudjik <dale.hudjik@gmail.com>
  76. James Cassell <w3c@cyberpear.com>
  77. Joseph D'Andrea <jdandrea@gmail.com>
  78. Eric Carlson <eric.carlson@apple.com>
  79. Don Kiely <donkiely@computer.org>
  80. David Child <dave@addedbytes.com>
  81. Mark DuBois <Mark@webprofessionals.org>
  82. David Bills <w3@dfbills.com>
  83. Nik Thierry <me@thisemail.ca>
  84. Andrew Ramsden <andrew@irama.org>
  85. John Foliot <john.foliot@deque.com>
  86. Shefik Macauley <allknightaccess@gmail.com>
  87. Joe Steele <steele@adobe.com>
  88. John Vernaleo <john@netpurgatory.com>
  89. Jeremy Keith <jeremy@adactio.com>
  90. Jedi Lin <JediLin@Gmail.com>
  91. Jon Hughes <jon@phazm.com>
  92. Samuel Santos <samaxes@gmail.com>
  93. Dean Jackson <dino@apple.com>
  94. Mohammed DADAS <mohammed.dadas@orange.com>
  95. Sally Cain <sally.cain@rnib.org.uk>
  96. David Bolter <dbolter@mozilla.com>
  97. James Craig <jcraig@apple.com>
  98. Leonard Rosenthol <lrosenth@adobe.com>
  99. Jean-Pierre EVAIN <evain@ebu.ch>
  100. Mark Pilgrim <pilgrim@google.com>
  101. Matt Lee <mattl@cnuk.org>
  102. Magnus Olsson <magnus.olsson@ericsson.com>
  103. Chris Pearce <cpearce@mozilla.com>
  104. Andrew Wilson <atwilson@google.com>
  105. Per-Erik Brodin <per-erik.brodin@ericsson.com>
  106. Ojan Vafai <ojan@chromium.org>
  107. Martin McEvoy <martin@weborganics.co.uk>
  108. Anders Bondehagen <anders@bondehagen.com>
  109. Steven Pemberton <Steven.Pemberton@cwi.nl>
  110. Raul Hudea <rhudea@adobe.com>
  111. Raghavan Gurumurthy <raghavan@adobe.com>
  112. Mayank Kumar <mayankk@adobe.com>
  113. Dragos Georgita <dgeorgit@adobe.com>
  114. Christopher Bank <cbank@adobe.com>
  115. Ole Riesenberg <or@oleriesenberg.com>
  116. Takuya Oikawa <takuya@google.com>
  117. Jatinder Mann <jmann@microsoft.com>
  118. Robert Stern <rstern@gmail.com>
  119. Eihab Ibrahim <eihabibrahim@gmail.com>
  120. Kensaku KOMATSU <kensaku.komatsu@gmail.com>
  121. Jer Noble <jer.noble@apple.com>
  122. Masatomo Kobayashi <mstm@jp.ibm.com>
  123. Peter Beverloo <beverloo@google.com>
  124. Andrew Scherkus <scherkus@google.com>
  125. Greg Johnson <greg.johnson@gmail.com>
  126. Martijn Croonen <martijn@martijnc.be>
  127. Stanley Manoski <manoski@mitre.org>
  128. Mounir Lamouri <mlamouri@google.com>
  129. Tony Gentilcore <tonyg@google.com>
  130. Joseph Pecoraro <pecoraro@apple.com>
  131. Bob Lund <b.lund@cablelabs.com>
  132. Tatsuya Igarashi <Tatsuya.Igarashi@sony.com>
  133. John Simmons <johnsim@microsoft.com>
  134. Mark Watson <watsonm@netflix.com>
  135. Clarke Stevens <c.stevens@cablelabs.com>
  136. Mark Vickers <mark_vickers@comcast.com>
  137. Jeremy LaCivita <jeremy.lacivita@comcast.com>
  138. Denis Ah-Kang <denis@w3.org>
  139. Alvar Laigna <laigna@gmail.com>
  140. Kunio Ito <kunio.ito@mail.rakuten.com>
  141. David Mays <david_mays@comcast.com>
  142. Michael Chen <michael_chen@comcast.com>
  143. jongyoul Park <jongyoul@etri.re.kr>
  144. Reinaldo Ferraz <reinaldo@nic.br>
  145. Eva Lingyun Jing <jinglingyun@baidu.com>
  146. GANG LIANG <gang.liang@huawei.com>
  147. Ryosuke Niwa <rniwa@apple.com>
  148. Gian Luca Marroni <gmarroni@libero.it>
  149. Ian Devlin <ian@iandevlin.com>
  150. Xingrong Guo <guoxingrong@baidu.com>
  151. Jet Villegas <w3c@junglecode.net>
  152. Alexander Surkov <surkov.alexander@gmail.com>
  153. Hasan Savran <hsavran@kent.edu>
  154. Eric VonColln <eric.voncolln@navy.mil>
  155. Rayi Lei <leiyi@baidu.com>
  156. David Dorwin <ddorwin@google.com>
  157. jiexuan gao <gaojiexuan@baidu.com>
  158. Xiaoqing Yang <yangxiaoqing@baidu.com>
  159. Aaron Colwell <acolwell@google.com>
  160. Alex Giladi <alex.giladi@huawei.com>
  161. Motomasa Futagami <mares@paoz.net>
  162. Kevin Streeter <kstreete@adobe.com>
  163. Christian Kaiser <kaiserc@google.com>
  164. Xuejian Li <lixuejian@baidu.com>
  165. Zuncheng Yang <yangzuncheng@baidu.com>
  166. Qianglong Zheng <zhengqianglong@baidu.com>
  167. Zhou Shen <shenzhou@baidu.com>
  168. Duoyi Wu <wuduoyi@baidu.com>
  169. Zheng Jia <jiazheng@baidu.com>
  170. Weifeng Feng <fengweifeng@baidu.com>
  171. Damin Hu <hudamin@baidu.com>
  172. Yang Liu <liuyang12@baidu.com>
  173. Zhixing Lei <leizhixing@baidu.com>
  174. Honggang Tang <tanghonggang@baidu.com>
  175. Kefeng Li <buaadallas@gmail.com>
  176. Xu Ma <maxu@baidu.com>
  177. Junzhong Liu <liujunzhong@baidu.com>
  178. Stefan Kaiser <stefan.kaiser@fokus.fraunhofer.de>
  179. Stefan Pham <stefan.pham@fokus.fraunhofer.de>
  180. Ami Fischman <fischman@google.com>
  181. Arnaud Braud <arnaud.braud@orange.com>
  182. Futomi Hatano <futomi.hatano@newphoria.co.jp>
  183. Bram Tullemans <tullemans@ebu.ch>
  184. Petr Peterka <ppeterka@verimatrix.com>
  185. lei wang <wanglei03@baidu.com>
  186. Milan Patel <Milan.Patel@huawei.com>
  187. Yiling Gu <guyiling@baidu.com>
  188. Zefa Xiong <xiongzefa@baidu.com>
  189. shanglin chen <chenshanglin@baidu.com>
  190. Ping Wu <wuping02@baidu.com>
  191. Bin Chen <chenbin01@baidu.com>
  192. Youichi Takashima <takashima.youichi@lab.ntt.co.jp>
  193. Patrick Ladd <Pat_Ladd2@comcast.com>
  194. Norifumi Kikkawa <norifumi.kikkawa@jp.sony.com>
  195. Hao Jing <jh.jinghao@huawei.com>
  196. Glenn Deen <glenn.deen@nbcuni.com>
  197. Lei Wang <wanglei@baidu.com>
  198. Tom Handal <thandal@verimatrix.com>
  199. Pengcheng Guo <guopengcheng@baidu.com>
  200. Tom Wiltzius <wiltzius@google.com>
  201. Pierre-Anthony Lemieux <pal@sandflow.com>
  202. Xie Jianhui <xiejianhui@baidu.com>
  203. Yujie Jiang <jiangyujie@baidu.com>
  204. Kazuhiko Takabayashi <kazuhiko.takabayashi@jp.sony.com>
  205. Brady Eidson <beidson@apple.com>
  206. Michael Thornburgh <mthornbu@adobe.com>
  207. Mick Hakobyan <mhakobyan@netflix.com>
  208. Vladimir Sinelnikov <sinelnikov@gmail.com>
  209. Chris Wong <huanghoujin@baidu.com>
  210. Yiliang LIU <liuyiliang@baidu.com>
  211. mingqiang zhang <imcnan@gmail.com>
  212. Suzanne Taylor <Suzanne.Taylor@pearson.com>
  213. Grzegorz Babula <gbabula@gmail.com>
  214. Brian Kardell <hitchjs@gmail.com>
  215. xueliang fan <fanxueliang@baidu.com>
  216. Niels Thorwirth <nthorwirth@verimatrix.com>
  217. David Evans <david.evans@rd.bbc.co.uk>
  218. Joseph Karr O'Connor <josephoconnor@mac.com>
  219. Yusuke Kagiwada <block.rxckin.beats@gmail.com>
  220. smallni ding <smallniding@tencent.com>
  221. Jim Walsh <jim@jwalshcreative.com>
  222. Greg Davis <greg.davis@pearson.com>
  223. Gabino Alonso <gabinovincent@gmail.com>
  224. Sam Langdon <sam.langdon@hachette.co.uk>
  225. Michael Kelly <mkelly@mozilla.com>
  226. Xiaoqian Wu <xiaoqian@w3.org>
  227. Yue Min <minyue@baidu.com>
  228. Min Li <limin04@baidu.com>
  229. Joanmarie Diggs <jdiggs@igalia.com>
  230. Pedro Xavier Jorge <pedro.xavierjorge@gmail.com>
  231. Akira Torii <Torii.Akira@bp.MitsubishiElectric.co.jp>
  232. So Vang <svang@nab.org>
  233. Nathalia Sautchuk Patrício <nathalia@nic.br>
  234. Vicente García Díaz <vicegd@live.com>
  235. Shinya Maruyama <Shinya.Maruyama@jp.sony.com>
  236. Yusuke Yokosuka <Yokosuka.Yusuke@bx.MitsubishiElectric.co.jp>
  237. John Riviello <john_riviello@comcast.com>
  238. yaolong wang <wangyaolong@baidu.com>
  239. Tao Liang <liangtao01@baidu.com>
  240. Glenn Eguchi <geguchi@adobe.com>
  241. Lukáš Čihák <lukas.cihak@mensa.cz>
  242. WOOGLAE KIM <wlkim@inswave.com>
  243. Min Ren <minren@tencent.com>
  244. Jason White <jjwhite@ets.org>
  245. Hyejin Lee <hjlee@html5forum.or.kr>
  246. Richard Grzeczkowski <richard_grzeczkowski@comcast.com>
  247. Pascal Perrot <pascal.perrot@orange.com>
  248. Dapeng Liu <max.ldp@alibaba-inc.com>
  249. Matthew Wolenetz <wolenetz@google.com>
  250. Cory Heslip <cory_heslip@comcast.com>
  251. Shaohang Yang <shaohang.ysh@alibaba-inc.com>
  252. Seiji Okumura <Okumura.Seiji@bc.MitsubishiElectric.co.jp>
  253. Eiji Yamamoto <Yamamoto.Eiji@db.MitsubishiElectric.co.jp>
  254. Ali C. Begen <ali_begen@comcast.com>
  255. HENGBING LIU <herbertliu@tencent.com>

Send an email to all the non-responders.

Compact view of the results / list of email addresses of the responders

WBS home / Questionnaires / WG questionnaires / Answer this questionnaire

Report issues on GitHub project w3c/wbs-design (preferred) or by mail to sysreq.