It is worth distinguishing "landmark" roles from other ARIA roles.
The landmark roles mark areas of the page, and can be used in the HTML:
it is fine to add ARIA landmark roles or ARIA labelling and describing attributes inline.
So you could markup the banner, main, search, navigation etc. in the HTML.
For other roles, especially anything dynamic, you probably want to add them via JavaScript.
From your description, it sounds like your notification area is something that users should be aware of, but not restricted by. (Therefore don't use alerts or dialogs.)
I don't think there is a specific role for that, but perhaps make sure it is in an area people will browser over. For example, if you have a main
and h1
, include the notification area just under that (in the source order).
If the notification area updates dynamically (without page load) you could look at aria-live
to notify users without moving them from the current focus.
For the section heading, I would just make sure there is one h1
that is page-specific. You could include a section heading as an h2
above the main
, in the banner
if that makes sense to you.
There isn't really a role suitable for section markers, but if the main
and h1
are page specific it should be ok.