Backlog

Sprint planning backlog: a flat list of separator-divided issue rows (.backlog-item), each showing type square, key, truncating summary, and optional status lozenge / story-point badge / assignee avatar. Pair with a .sprint-header strip above it. Author rows with the <lz-backlog-item> tag (templates/backlog-item.html).

Root: .backlog on <div>

Example

Example
LOZ-1Set up runtime theme axesIn progress3JC
<div class="backlog"><div class="backlog-item"><span class="issue-type issue-type-story" role="img" aria-label="story"></span><span class="issue-key">LOZ-1</span><span class="backlog-summary">Set up runtime theme axes</span><span class="lozenge lozenge-inprogress">In progress</span><span class="badge">3</span><span class="avatar avatar-sm">JC</span></div></div>

Contract

Structure

SelectorRequiredDescription
.backlog-itemrequiredThe issue rows, direct children. Rows highlight on hover; each is separated by a border-bottom (the list carries a matching border-top).

Accessibility

Rows are plain divs; if clicking a row opens the issue, make the .issue-key or summary a real link rather than scripting the div. For very long backlogs consider a real list (ul/li) or table for structure announcement.

Nesting

Allowed in:

  • main content area, under a .sprint-header
  • cards

Never inside (or containing):

  • .backlog

Subcomponents

Sprint-header

Sprint title strip above a backlog or board: sprint name (h500), date range, and a right-aligned actions cluster (total story-point badge + Start/Complete sprint compact button).

Root: .sprint-header on <div>, <header>

Example

Example

Sprint 14

21 Jul – 1 Aug
23
<div class="sprint-header"><h3 class="sprint-name">Sprint 14</h3><span class="sprint-dates">21 Jul &ndash; 1 Aug</span><div class="sprint-actions"><span class="badge" aria-label="23 story points">23</span><button class="btn btn-compact">Complete sprint</button></div></div>

Structure

SelectorRequiredDescription
.sprint-namerequiredThe sprint title — use a real heading element (h500-style, truncates).
.sprint-datesoptionalDate range next to the name; fs-sm, subtlest text, no wrap.
.sprint-actionsoptionalRight-aligned cluster (margin-inline-start auto): total story-point .badge, then .btn.btn-compact actions like Start sprint / Complete sprint.

Accessibility

Make .sprint-name a real heading at the right level for the page outline. Give the bare point-total badge an aria-label (e.g. "23 story points").

Nesting

Allowed in:

  • above a .backlog
  • above a .board

Never inside (or containing):

  • .sprint-header

Backlog-item

One backlog row: issue-type square, key, flexible truncating summary, then optional status lozenge, story-point badge, and assignee avatar. Authored via <lz-backlog-item type key points status assignee> — points/status/assignee render only when the attribute is present; status maps to .lozenge.lozenge-{status}.

Root: .backlog-item on <div>

Example

Example
LOZ-34Login page redirect loop1DK
<div class="backlog-item"><span class="issue-type issue-type-bug" role="img" aria-label="bug"></span><span class="issue-key">LOZ-34</span><span class="backlog-summary">Login page redirect loop</span><span class="badge" aria-label="1 story points">1</span><span class="avatar avatar-sm">DK</span></div>

Structure

SelectorRequiredDescription
.issue-typerequiredFixed-color 16px type square, first in the row; needs its type variant class and role="img" + aria-label.
.issue-keyrequiredThe issue identifier (e.g. LOZ-31); subtle, truncates.
.backlog-summaryrequiredThe issue title; takes the remaining width (flex: 1) and truncates to one line.
.lozengeoptionalOptional status pill after the summary. Via the template: status="inprogress" etc. sets the variant class; provide nicer label text with <span slot="status">In progress</span> (falls back to the raw status token).
.badgeoptionalOptional story-point estimate.
.avataroptionalOptional assignee avatar (avatar-sm), last in the row.

Accessibility

OnAttributeLevelWhen
.issue-typearia-labelrequired

The template emits role="img" + aria-label on the type square so the issue type is announced. Point badges are bare numbers — the template labels them "N story points". Avatar initials alone don't identify the assignee; use full names in aria-label where it matters.

Nesting

Allowed in:

  • .backlog

Never inside (or containing):

  • .backlog-item