of static method
Returns the nearest GlassAccessibilityData in the widget tree.
Priority order:
- An explicit GlassAccessibilityScope in the widget tree (always wins).
- System
MediaQueryflags, ifLiquidGlassWidgets.respectSystemAccessibilityistrue(the default). - GlassAccessibilityData.defaults (no restrictions) when accessibility
is disabled globally via
LiquidGlassWidgets.initialize(respectSystemAccessibility: false).
Implementation
static GlassAccessibilityData of(BuildContext context) {
// 1. Prefer an explicit scope — allows overrides and avoids duplicate
// MediaQuery lookups in subtrees that do add the scope.
final inherited = context
.dependOnInheritedWidgetOfExactType<_InheritedGlassAccessibility>();
if (inherited != null) return inherited.data;
// 2. If the global flag is off, skip MediaQuery entirely.
if (!glass_config.respectSystemAccessibility) {
return GlassAccessibilityData.defaults;
}
// 3. Read system flags so accessibility is respected with no dev setup.
return GlassAccessibilityData(
reduceMotion: MediaQuery.disableAnimationsOf(context),
reduceTransparency: MediaQuery.highContrastOf(context),
);
}