может я и заблуждаюсь, но то, что он будет работать (я не про спецификацию, а про реализации) на всех элементах, это следствие того, что document присутствует в scope chain элементов.
будет чуть свободного времени проверю, какие брозеры поддерживают метод getElementsByTagName именно элемента (то есть возвращают коллекцию вложенных именно в него), а какие отдают результат document.getElementsByTagName