Я читаю здесь, что "self Относится к текущему окну или форме".
В этом случае сам я не ссылаюсь на текущую форму:
<form><input type="text" onkeyup="alert(self.foo.value)" name="foo"></form>
Однако в этом случае он работает (ссылаясь на окно):
<form><input type="text" onkeyup="alert(self.document.forms[0].foo.value)" name="foo"></form>
Итак, когда вы использовали бы свойство self
DOM только для window
?