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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>63551</bug_id>
          
          <creation_ts>2011-06-28 12:03:33 -0700</creation_ts>
          <short_desc>SVGElement &apos;blur&apos; event is not working</short_desc>
          <delta_ts>2014-05-12 06:38:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rwlbuis</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>429056</commentid>
    <comment_count>0</comment_count>
      <attachid>98954</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-28 12:03:33 -0700</bug_when>
    <thetext>Created attachment 98954
Example for &apos;blur&apos; event

If a SVGElement looses its focus it should fire event &apos;blur&apos; but doesn&apos;t right now.

This is related to bug https://bugs.webkit.org/show_bug.cgi?id=41401</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429059</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-28 12:09:12 -0700</bug_when>
    <thetext>*** Bug 41401 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432058</commentid>
    <comment_count>2</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-07-04 15:19:33 -0700</bug_when>
    <thetext>Actually I don&apos;t think this works in SVG, blur (and onfocus) are not part of the list:

http://www.w3.org/TR/SVG11/interact.html#SVGEvents

See also:

https://groups.google.com/group/lib-gwt-svg/browse_thread/thread/b4c05d297ff15fa

Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432103</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-04 22:15:17 -0700</bug_when>
    <thetext>I think it could be very useful for accessibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459262</commentid>
    <comment_count>4</comment_count>
      <attachid>105707</attachid>
    <who name="Courtney Christensen">zourtney</who>
    <bug_when>2011-08-30 15:22:45 -0700</bug_when>
    <thetext>Created attachment 105707
Displays focus, blur, focusin, focusout, activate, DOMFocusIn, DOMFocusOut, and DOMActivate events on SVG and HTML elements.

I have been running some SVG focus-related tests (spurred by trying to capture iOS VoiceOver&apos;s focus-ring changes in JavaScript, see [1]). It seems[2] SVG *should* only be firing `DOMFocusIn`, `DOMFocusOut`, and `DOMActivate`.

However, with elements taking on &quot;group&quot; roles via `tabindex` and/or `role=&quot;button&quot;`, I&apos;ve found:

  * Chrome (14b) fires all events on SVG, even `focus` and `blur`, which it technically should not.
  * Desktop Safari (5.1) only fires `DOMActivate` for SVG.
  * iOS Safari (w/VoiceOver on) fires nothing for SVG

Live example at:
  http://viewplus.com/downloads/htmltests/accessibility/focus-events.xhtml

--------------------------------------------------------
            | Chrome 14b | Safari 5.1 | Mobile Safari* |
--------------------------------------------------------
focus       |    H, S    |     H      |       H        |
blur        |    H, S    |     H      |       H        |
focusin     |    H, S    |     H      |       H        |
focusout    |    H, S    |     H      |       H        |
activate    |            |            |                |
DOMFocusIn  |    H, S    |     H      |       H        |
DOMFocusOut |    H, S    |     H      |       H        |
DOMActivate |    H, S    |    H, S    |       H        |
--------------------------------------------------------
Key:
  H =&gt; fires on HTML elements
  S =&gt; fires on SVG elements
  * =&gt; only w/VoiceOver (iOS) activated
--------------------------------------------------------

I found an old bug[3] which sounds related, but has long since been marked RESOLVED/FIXED. Also, I would like to confirm Dirk&apos;s assertion that this is an important accessibility feature. I&apos;m going to keep an eye on this bug


[1]: http://old.nabble.com/Considering-a-Touchhover-td31127221.html#a31129788
[2]: http://www.w3.org/TR/SVGTiny12/interact.html#focus
[3]: https://bugs.webkit.org/show_bug.cgi?id=12573</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548823</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-02-03 10:23:25 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=105707) [details]
Your test works in Safari trunk as well. But you embedded the SVG in the HTML document. We might check if it works for plain SVG files as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008570</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-05-12 06:38:57 -0700</bug_when>
    <thetext>It is finally fixed in trunk for SVG only as well.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>98954</attachid>
            <date>2011-06-28 12:03:33 -0700</date>
            <delta_ts>2011-06-28 12:03:33 -0700</delta_ts>
            <desc>Example for &apos;blur&apos; event</desc>
            <filename>blurEvent.svg</filename>
            <type>image/svg+xml</type>
            <size>442</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8dGV4dCB4PSIxMCIgeT0i
MjAiPkNsaWNrIG9uIHRoZSByZWN0IGFuZCBvbiB0aGUgd2hpdGUgYXJlYSBhcm91bmQgaXQgYWZ0
ZXJ3YXJkcy4gVGhlIHJlY3Qgc2hvdWxkIHR1cm4gZ3JlZW4uPC90ZXh0Pgo8cmVjdCBpZD0icmVj
dCIgeT0iMzAiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgZmlsbD0icmVkIiBvbmJsdXI9
ImFsZXJ0KCdoaScpIi8+CjxzY3JpcHQgdHlwZT0idGV4dC9lY21hc2NyaXB0Ij4KPCFbQ0RBVEFb
CnZhciByZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlY3QiKTsKcmVjdC5hZGRFdmVu
dExpc3RlbmVyKCJibHVyIiwgZnVuY3Rpb24gKCkgeyByZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIs
ICJncmVlbiIpOyB9LCBmYWxzZSk7Cl1dPgo8L3NjcmlwdD4KPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>105707</attachid>
            <date>2011-08-30 15:22:45 -0700</date>
            <delta_ts>2011-08-30 15:22:45 -0700</delta_ts>
            <desc>Displays focus, blur, focusin, focusout, activate, DOMFocusIn, DOMFocusOut, and DOMActivate events on SVG and HTML elements.</desc>
            <filename>focus-events.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>3778</size>
            <attacher name="Courtney Christensen">zourtney</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI+DQo8aGVhZD4NCiAgPHRpdGxlPlZvaWNlT3ZlciBUYXAgVGVzdDwvdGl0bGU+DQogIA0KICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFs
LXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyIgLz4NCiAgDQogIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogIAkjb3V0LCBwLCAucGFuZSB7DQogIAkJbWFyZ2luOiAx
ZW0gMC41ZW07DQogIAl9DQogIAkNCiAgCS5zZWN0aW9uIHsNCiAgCQlib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsNCiAgCX0NCiAgCQ0KICAJLnBhbmUgew0KICAJCXdpZHRoOiAyNTBweDsNCiAgCQlo
ZWlnaHQ6IDI1MHB4Ow0KICAJCWZsb2F0OiBsZWZ0Ow0KICAJfQ0KICAJDQogIAkjcGFuZS1jbGVh
ciB7DQogIAkJY2xlYXI6IGJvdGg7DQogIAl9DQogIAkNCiAgCSNvdXQgew0KICAJCW1hcmdpbjog
MCAyZW0gMCAyZW07DQogIAl9DQogIAkNCiAgCSNvdXQgZGl2IHsNCiAgCQlwYWRkaW5nOiAwLjI1
ZW07DQogIAl9DQogIAkNCiAgCSNvdXQgLnRpdGxlIHsNCiAgCQliYWNrZ3JvdW5kOiAjNDRmOw0K
ICAJCWNvbG9yOiB3aGl0ZTsNCiAgCX0NCiAgCQ0KICAJI291dCAuaXRlbTpudGgtY2hpbGQoZXZl
bikgew0KICAJCWJhY2tncm91bmQ6ICNmZmY7DQogIAl9DQogIAkNCiAgCSNvdXQgLml0ZW06bnRo
LWNoaWxkKG9kZCkgew0KICAJCWJhY2tncm91bmQ6ICNlZWU7DQogIAl9DQogIAkNCiAgCSNvdXQg
Lml0ZW0gLnRpbWVzdGFtcCB7DQogIAkJY29sb3I6ICM3Nzc7DQogIAkJZm9udC1zdHlsZTogaXRh
bGljOw0KICAJfQ0KICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQoJPGRpdiBpZD0icGFuZS1j
b250YWluZXIiPg0KCQk8ZGl2IGNsYXNzPSJwYW5lIHNlY3Rpb24iPg0KCQkJPCEtLSBObyBncm91
cGluZyByb2xlIGFwcGxpZWQuIE5vdCBmb2N1c2FibGUgYXQgYWxsIGluIGlPUy4gLS0+DQoJCQk8
cCBpZD0icDEiPjxjb2RlPnA8L2NvZGU+IHdpdGggbm8gPGNvZGU+dGFiaW5kZXg8L2NvZGU+IG9y
IDxjb2RlPmJ1dHRvbjwvY29kZT4gcm9sZS48L3A+DQoJCQkNCgkJCTwhLS0gVGFiLXN0b3BzIGFu
ZCBidXR0b24gcm9sZSBtYWtlIHRoZXNlIHNlbGVjdGFibGUgaW4gaU9TIFNhZmFyaSAtLT4NCgkJ
CTxwIGlkPSJwMiIgdGFiaW5kZXg9Ii0xIiByb2xlPSJidXR0b24iPkEgZm9jdXNhYmxlIDxjb2Rl
PnA8L2NvZGU+IHVzaW5nIDxjb2RlPnRhYmluZGV4PSItMSI8L2NvZGU+IGFuZCA8Y29kZT5yb2xl
PSJidXR0b24iPC9jb2RlPi48L3A+DQoJCQkNCgkJCTxwIGlkPSJwMyIgdGFiaW5kZXg9Ii0xIiBy
b2xlPSJidXR0b24iPkEgc2Vjb25kIGZvY3VzYWJsZSA8Y29kZT5wPC9jb2RlPiB1c2luZyA8Y29k
ZT50YWJpbmRleD0iLTEiPC9jb2RlPiBhbmQgPGNvZGU+cm9sZT0iYnV0dG9uIjwvY29kZT4uPC9w
Pg0KCQk8L2Rpdj4NCgkJDQoJCTxkaXYgY2xhc3M9InBhbmUgc2VjdGlvbiI+DQoJCQk8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB3aWR0aD0iMjUw
cHgiIGhlaWdodD0iMjUwcHgiPg0KCQkJCTwhLS0gUGxhaW4gU1ZHIHJlY3QgZWxlbWVudCAtLT4N
CgkJCQk8cmVjdCBpZD0icjEiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBm
aWxsPSJncmVlbiIgLz4NCgkJCQkNCgkJCQk8IS0tIHJlY3Qgd2l0aCBgcm9sZT0iYnV0dG9uImAs
IHNob3VsZCBiZSBzZWxlY3RhYmxlIHdpdGggVm9pY2VPdmVyIC0tPg0KCQkJCTxyZWN0IGlkPSJy
MiIgeD0iMTIwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImJsdWUiIHJv
bGU9ImJ1dHRvbiIgLz4NCgkJCQkNCgkJCQk8IS0tIHJlY3Qgd2l0aCBgcm9sZT0iYnV0dG9uImAg
YW5kIFNWR1RpbnkgMS4yJ3MgYGZvY3VzYWJsZWAgYXR0cmlidXRlLg0KCQkJCSAgICAgSXQgYXBw
ZWFycyB0aGF0IG5vIGJyb3dzZXJzIGltcGxlbWVudCB0aGlzIHJpZ2h0IG5vdy4NCgkJCSAgLS0+
DQoJCQkgIDxyZWN0IGlkPSJyMyIgeD0iNDAiIHk9IjE0MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIGZpbGw9InllbGxvdyINCgkJCQkJcm9sZT0iYnV0dG9uIiBmb2N1c2FibGU9InRydWUiIC8+
DQoJCQk8L3N2Zz4NCgkJPC9kaXY+DQoJCQ0KCQk8ZGl2IGlkPSJwYW5lLWNsZWFyIj48L2Rpdj4N
Cgk8L2Rpdj4NCgkNCgkNCgk8ZGl2IGlkPSJvdXQiIGNsYXNzPSJzZWN0aW9uIj4NCgkJPGRpdiBj
bGFzcz0idGl0bGUiPkZvY3VzIEV2ZW50IExvZzwvZGl2Pg0KCTwvZGl2Pg0KCQ0KCQ0KCTxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkvLzwhW0NEQVRBWw0KCQkvKioNCgkJICogT3V0
cHV0IG1lc3NhZ2Ugb24gdGhlIHNjcmVlbiB3aXRoIGEgdGltZXN0YW1wDQoJCSAqLw0KCQl2YXIg
b3V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dCcpOw0KCQlmdW5jdGlvbiBsb2coZWws
IHR4dCkgew0KCQkJdmFyIG5vdyA9IG5ldyBEYXRlKCk7DQoJCQl2YXIgZCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOw0KCQkJZC5jbGFzc05hbWUgPSAnaXRlbSc7DQoJCQlkLmlubmVy
SFRNTCA9ICc8c3BhbiBjbGFzcz0idGltZXN0YW1wIj4nICsgbm93LmdldEhvdXJzKCkgKyAnOicg
KyBub3cuZ2V0TWludXRlcygpICsgJzonICsgbm93LmdldFNlY29uZHMoKSArICcuJyArIG5vdy5n
ZXRNaWxsaXNlY29uZHMoKSArICc6PC9zcGFuPiAnICsgdHh0Ow0KCQkJb3V0LmFwcGVuZENoaWxk
KGQpOw0KCQl9DQoJCQ0KCQkvKioNCgkJICogQWRkcyBhIHNpbmdsZSBsaXN0ZW5lciB0byB0aGUg
Z2l2ZW4gZWxlbWVudC4gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uDQoJCSAqIGxvZ3MgdGhlIGFjdGlv
biB0byB0aGUgSmF2YVNjcmlwdCBjb25zb2xlLg0KCQkgKi8NCgkJZnVuY3Rpb24gYWRkTGlzdGVu
ZXIoZWwsIGV2dE5hbWUpIHsNCgkJCWVsLmFkZEV2ZW50TGlzdGVuZXIoZXZ0TmFtZSwgZnVuY3Rp
b24oZSkgew0KCQkJCWxvZyhlbCwgZWwuaWQgKyAnLicgKyBldnROYW1lKTsNCgkJCX0sIGZhbHNl
KTsNCgkJfQ0KCQkNCgkJLyoqDQoJCSAqIEFkZCBtdWx0aXBsZSBmb2N1cy1yZWxhdGVkIGxpc3Rl
bmVycyB0byB0aGUgZ2l2ZW4gZWxlbWVudA0KCQkgKi8NCgkJZnVuY3Rpb24gYWRkTGlzdGVuZXJz
KGVsTmFtZSkgew0KCQkJdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxOYW1lKTsN
CgkJCQ0KCQkJYWRkTGlzdGVuZXIoZWwsICdmb2N1cycpOw0KCQkJYWRkTGlzdGVuZXIoZWwsICdi
bHVyJyk7DQoJCQkNCgkJCWFkZExpc3RlbmVyKGVsLCAnZm9jdXNpbicpOw0KCQkJYWRkTGlzdGVu
ZXIoZWwsICdmb2N1c291dCcpOw0KCQkJYWRkTGlzdGVuZXIoZWwsICdhY3RpdmF0ZScpOw0KCQkJ
DQoJCQlhZGRMaXN0ZW5lcihlbCwgJ0RPTUZvY3VzSW4nKTsNCgkJCWFkZExpc3RlbmVyKGVsLCAn
RE9NRm9jdXNPdXQnKTsNCgkJCWFkZExpc3RlbmVyKGVsLCAnRE9NQWN0aXZhdGUnKTsNCiAgCX0N
CiAgCQ0KICAJLy8gQWRkIGRpdiBsaXN0ZW5lcnMNCiAgCWFkZExpc3RlbmVycygncDEnKTsNCiAg
CWFkZExpc3RlbmVycygncDInKTsNCiAgCWFkZExpc3RlbmVycygncDMnKTsNCiAgCQ0KICAJLy8g
QWRkIFNWRyByZWN0IGxpc3RlbmVycw0KCQlhZGRMaXN0ZW5lcnMoJ3IxJyk7DQoJCWFkZExpc3Rl
bmVycygncjInKTsNCgkJYWRkTGlzdGVuZXJzKCdyMycpOw0KCS8vXV0+DQogIDwvc2NyaXB0Pg0K
PC9ib2R5Pg0KPC9odG1sPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>