Технически, по стандартам HTML5 идентификатор должен быть уникальным на странице - https://developer.mozilla.org/en/DOM/element.id
Но я работал на чрезвычайно модульных веб-сайтах, где это полностью игнорируется и работает. И это имеет смысл - самая удивительная часть.
Мы называем это "компонентизация"
Например, на вашей странице может быть компонент, который является неким виджетом. Внутри него есть свои уникальные идентификаторы, например, «ok-button»
Как только на странице появятся многие из этих виджетов, у вас технически будет неверный HTML. Но имеет смысл компонентировать ваши виджеты, чтобы каждый из них, внутренне, ссылался на свою собственную кнопку ok, например, при использовании jquery для поиска из своего корня это может быть: $widgetRoot.find("#ok-button")
Это работает для нас, хотя технически идентификаторы вообще не должны использоваться, если они не уникальны.
Как упоминалось выше, даже YouTube делает это, так что это не так уж и плохо.