About this set
A traffic report by channel where three small charts sit inside the cells: a seven-bar sparkline for the recent trend, a horizontal bar beside each channel’s share of sessions, and a ring showing progress towards a goal with the percentage in its centre. Every chart is plain CSS reading one custom property, so no canvas, SVG or chart library is involved. Each sparkline bar sets –h as a percentage of a 26 pixel box and the last bar is drawn in indigo. The share bar sets –p as its width, in indigo, amber or green. The ring is a conic-gradient filled to –p percent with a white disc on top. To drive the charts from data, write those custom properties from your template or script. The share bars sit next to their numbers and are hidden from screen readers, while the sparklines and rings have no visible number and are exposed as images with labels such as Rising over the last 7 weeks and 92 percent of goal. Use it for dashboards and reports where a trend or proportion helps people scan a column. The Bootstrap version uses .progress for the share bars.
What’s included
- Sparklines, share bars and goal rings in pure CSS
- Each chart reads a single custom property
- Bootstrap share bars built on .progress
- Charts without visible numbers have text alternatives
- Channel names are row headers
Accessibility
The caption describes every column, channels are row headers with scope="row", and sparklines and rings are role="img" with an aria-label that states the trend or goal. Share bars are aria-hidden because the percentage beside them is real text. Grey sparkline bars reach 3:1 against the white cell. The scroll region shows a 2px focus outline, and nothing animates.
Customise it
Set --h on each sparkline bar, --p on each share bar and --p on each ring. Colours are the #4f46e5, #f59e0b and #16a34a fills, the #8b93a3 sparkline grey and the #eef0f4 tracks; in Bootstrap the bar colour is --bs-progress-bar-bg.




















