OGE logoOGE

App Bar

oge-app-bar is a horizontal application bar with start, center and end sections — the header of an app shell, a bottom action bar on a phone.

It is chrome, not a widget: no keyboard model of its own (its controls stay in the Tab order — put an oge-toolbar inside for the APG toolbar’s single tab stop), and a landmark only on request, because banner must be unique and top-level.

start / center / end sticky safe areas landmarks

Sections

[ogeAppBarStart] and [ogeAppBarEnd] size to their content; unmarked content goes to the center section, which takes the remaining width and lets a long title truncate instead of pushing the actions off a phone screen.

ogeAppBarStart ogeAppBarEnd center
Inbox

last action → —

Colors & sizes

default is the page surface with a hairline on the content edge, primary the accent, inverse the dark tooltip surface, transparent none. size is the 48 / 56 / 64 px density and elevated adds the card shadow — all tokens, so a theme re-tunes every bar.

color size elevated centerAlign
Default · sm
Primary · elevated
Inverse · lg · centered
Transparent

Sticky & fixed (safe areas)

sticky sticks to the top of the nearest scroll container; fixed pins to the viewport instead (not shown live — it would cover these docs). Both pad with env(safe-area-inset-*) as a floor, so the bar clears a notch once the app opts into viewport-fit=cover, and sit on the --oge-z-app-bar layer, below FABs, popups and dialogs.

positionMode: sticky fixed env(safe-area-inset-*)
Article

Paragraph 1: scroll inside this box — the bar stays on top.

Paragraph 2: scroll inside this box — the bar stays on top.

Paragraph 3: scroll inside this box — the bar stays on top.

Paragraph 4: scroll inside this box — the bar stays on top.

Paragraph 5: scroll inside this box — the bar stays on top.

Paragraph 6: scroll inside this box — the bar stays on top.

Paragraph 7: scroll inside this box — the bar stays on top.

Paragraph 8: scroll inside this box — the bar stays on top.

Bottom bar

position="bottom" moves the hairline and the shadow to the top edge and the safe-area padding to the home-indicator edge — a phone’s bottom navigation.

position: bottom sticky

Message 1

Message 2

Message 3

Message 4

Message 5

Message 6

Message 7

Message 8

Landmarks

A landmark only on request: banner for the one page header, contentinfo for a page footer, navigation / region plus an ariaLabel for a named secondary bar. ariaLabel is written only when a landmark is set — on a role-less element it would be invalid ARIA.

landmark ariaLabel banner / contentinfo