Skip to main content

provide-slider-semantic-formatter

effort: 6m
has IDE fix
pro+

Warns when a slider widget does not pass the semanticFormatterCallback argument.

Standard Flutter Slider controls operate on numeric double values. When a slider represents a non-percentage value (like a dollar amount), Flutter’s default semantic formatter announces it as a percentage (e.g. "50%").

This default percentage announcement is highly misleading for screen reader users when adjusting values meant to represent prices, volume, or specific counts.

Example

❌ Bad:

// LINT: Prefer providing a semantic formatter callback to ensure correct announcement.
Slider(value: 1000.0);

// LINT: Prefer providing a semantic formatter callback to ensure correct announcement.
RangeSlider(value: 1000.0);

✅ Good:

Slider(
value: 1000.0,
semanticFormatterCallback: (val) => '$${val.round()} dollars',
);

Additional Resources