package settings type AccessibilityPreferences struct { DisplayDensity string Contrast string ReducedMotion bool KeyboardFocus string } const ( DisplayDensityDense = "dense" DisplayDensityComfortable = "comfortable" ContrastStandard = "standard" ContrastHigh = "high" KeyboardFocusStandard = "standard" KeyboardFocusProminent = "prominent" ) func DefaultAccessibilityPreferences() AccessibilityPreferences { return AccessibilityPreferences{ DisplayDensity: DisplayDensityDense, Contrast: ContrastStandard, KeyboardFocus: KeyboardFocusStandard, } } func DisplayDensityForDenseLayout(dense bool) string { if dense { return DisplayDensityDense } return DisplayDensityComfortable } func NormalizeAccessibilityPreferences(prefs AccessibilityPreferences) AccessibilityPreferences { normalized := DefaultAccessibilityPreferences() switch prefs.DisplayDensity { case DisplayDensityDense, DisplayDensityComfortable: normalized.DisplayDensity = prefs.DisplayDensity } switch prefs.Contrast { case ContrastStandard, ContrastHigh: normalized.Contrast = prefs.Contrast } switch prefs.KeyboardFocus { case KeyboardFocusStandard, KeyboardFocusProminent: normalized.KeyboardFocus = prefs.KeyboardFocus } normalized.ReducedMotion = prefs.ReducedMotion return normalized }