- From: Tom Wright <developer@tomwright.me.uk>
- Date: Wed, 15 Sep 2004 05:09:05 +0100
- To: w3c-wai-gl@w3.org
Mirabella, Mathew J wrote:
>
> I am not sure to what extent you should replicate function calls with
> onClick, onKeypress and onActivate, but here they all are.
onkeypress raises a major problem on Firefox and Opera. When tabbing
through a document the event will be fired when tabbing off the link,
hence unexpectedly opening or closing windows!
I don't think we should be promoting onactivate. It is part of the IE
Dom and poorly supported besides which onclick is device independent in
most browsers now (Bug 490 - 16.3 of HTML Techniques).
> Now for the close window link...
>
> In the html of document.html:
> <script language="JavaScript" type="text/javascript">
> <!--
> document.write ('<a href="#" title="Close This Window"
> onClick="window.close(); return false;" onKeyPress="window.close();
> return false;" onActivate="window.close(); return false;">Close This
> Window</a></li>');
> // -->
> </script>
You could supplement this by testing for the presence of an opener
object before displaying the 'Close Window' link.
ie If a user does not arrive at the page through a pop-up (eg from a
bookmark) the 'close window' link is not relevant.
if (window.opener) {
var link = document.createElement('button');
link.setAttribute('title', 'Close this window');
link.onclick = function() {
window.close();
}
link.appendChild(document.createTextNode('Close This Window'));
document.getElementsByTagName('body').item(0).appendChild(link);
}
> <noscript>
> Use your browser functions to close this window.
> </noscript>
It should be emphasised that this is only relevant with a Transitional
DTD. The TARGET attribute is not valid in the Strict Doctype, so, in
absence of a target and with no scripts enabled the document would open
in the same window, rendering the above statement misleading.
Cheers, Tom
Received on Wednesday, 15 September 2004 04:09:34 UTC