Skip to main content

  • Foundations
    • Border radius
    • Breakpoints
    • Colours
    • Colour scheme
    • Elevation
    • Focus and outline
    • Sizing and spacing
    • Layout
    • Motion
    • Typography
    • Z-index
  • Elements
    • Buttons
    • Code
    • Icons
    • Figure and caption
    • Forms
    • Links
    • Lists
    • Media
    • Tables
  • Components
    • Accordion
    • Alerts
    • Avatar
    • Blockquote
    • Breadcrumbs
    • Card
    • Chiplets
    • Details and summary
    • Dialog
    • Empty state
    • Stats
    • Global footer
    • Horizontal rule
    • Kanban
    • Key-value list
    • Meter
    • Objects
    • Pagination
    • Polka background
    • Post-it note
    • Progress
    • Speech bubbles
    • Status dot
    • Skeleton
    • Skip link
    • Spinner
    • Toggles
    • Tooltip
    • Webmentions
  • Patterns
    • Article header
    • Author card
    • App list and app sheet
    • Error page
    • Related posts
    • Search results
    • Utilities

John Peart

  • Search
  • Menu
John Peart

App list and app sheet

Writing about apps, subscriptions and in-app purchases.

A composition built on key-value for writing about apps, subscriptions and in-app purchases. A <section class="key-value key-value--app-list"> wraps any number of <dl> rows — each row is an app (app-list row), an app detail block (app-sheet row) or a sub-total line.

App list row

Icon, name and price on a single line. Use .align-right and .small-caps on the price to match the subscriptions post treatment.

App icon
Notes
£2.99/mo
App icon
Calendar
Free
<section class="key-value key-value--app-list">
  <dl class="key-value--item key-value--item--app-list">
    <dt class="key-value--key sr-only">App icon</dt>
    <dd class="key-value--value">
      <img class="app-icon" src="/path/to/icon.png" alt="">
    </dd>
    <dt class="key-value--key">App name</dt>
    <dd class="key-value--value align-right small-caps">£2.99/mo</dd>
  </dl>
</section>

Sub-total row

A spanning label and a right-aligned amount. The .span--two-columns modifier stretches the <dt> across the icon + name columns.

App icon
Notes
£2.99/mo
App icon
Calendar
Free
Sub-total
£26.00 per month
<section class="key-value key-value--app-list">
  <dl class="key-value--item key-value--item--app-list">
    <dt class="key-value--key sr-only">App icon</dt>
    <dd class="key-value--value">
      <img class="app-icon" src="/images/photos/2016-05-01-in-flight.jpeg" alt="" width="57" height="57">
    </dd>
    <dt class="key-value--key">Notes</dt>
    <dd class="key-value--value align-right small-caps">£2.99/mo</dd>
  </dl>
  <dl class="key-value--item key-value--item--app-list">
    <dt class="key-value--key sr-only">App icon</dt>
    <dd class="key-value--value">
      <img class="app-icon" src="/images/photos/2016-05-01-in-flight.jpeg" alt="" width="57" height="57">
    </dd>
    <dt class="key-value--key">Calendar</dt>
    <dd class="key-value--value align-right small-caps">Free</dd>
  </dl>
  <dl class="key-value--item key-value--item--app-list">
    <dt class="key-value--key span--two-columns">Sub-total</dt>
    <dd class="key-value--value align-right">£26.00 per month</dd>
  </dl>
</section>

App sheet

A detail block for a single app — large icon on the left, stacked metadata on the right. Each row of metadata is a separate <dt>/<dd> pair inside the same <dl>.

App icon
Tweetbot for Twitter iOS app icon
App name
Tweetbot for Twitter
In-app purchase description
Tweetbot yearly
Type
In-app purchase
Developer
Tapbots
Price
£5.99 per year
<section class="key-value key-value--app-list">
    <dl class="key-value--item key-value--item--app-sheet">
        <dt class="key-value--key sr-only">App icon</dt>
        <dd class="key-value--value key-value--value--app-icon">
            <img class="app-icon large" src="/images/posts/2023-02-06-tweetbot.jpg" alt="Tweetbot for Twitter iOS app icon">
        </dd>
        <dt class="key-value--key sr-only">App name</dt>
        <dd class="key-value--value"><strong>Tweetbot for Twitter</strong></dd>
        <dt class="key-value--key sr-only">In-app purchase description</dt>
        <dd class="key-value--value small-text secondary-text">Tweetbot yearly</dd>
        <dt class="key-value--key sr-only">Type</dt>
        <dd class="key-value--value small-text secondary-text">In-app purchase</dd>
        <dt class="key-value--key">Developer</dt>
        <dd class="key-value--value align-right">Tapbots</dd>
        <dt class="key-value--key">Price</dt>
        <dd class="key-value--value align-right">£5.99 per year</dd>
    </dl>
</section>
A line drawing of John Peart

John Peart

www.johnpe.art

Mastodon logo

Mastodon

BlueSky logo

Bluesky

LinkedIn logo

LinkedIn

Github logo

GitHub