You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en-us/production/publishing/accessibility.md
+22-6Lines changed: 22 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,11 +92,11 @@ Consider the following scene where a ringing phone is signalled only by sound, a
92
92
93
93
## Player preferences
94
94
95
-
Various in-game accessibility settings including [preferred transparency](#preferred-transparency)and [reduced motion](#reduced-motion) are available to players. For optimal accessibility, your [user interface](../../ui/index.md) should accommodate each.
95
+
Various visual settings are available to players from the Roblox and in‑experience **Settings** menus, including [preferred transparency](#preferred-transparency), [preferred text size](#preferred-text-size), and [reduced motion](#reduced-motion). For optimal accessibility, your [user interface](../../ui/index.md) should accommodate each.
96
96
97
97
### Preferred transparency
98
98
99
-
The in-game **Settings** menu contains a **Background Transparency**adjuster which maps to the `Class.GuiService.PreferredTransparency` property. A value of `1` indicates the player prefers the default background transparency, while a value of `0` indicates the player prefers fully opaque (non‑transparent) background transparency for improved readability and contrast.
99
+
The **Background Transparency**setting maps to the `Class.GuiService.PreferredTransparency` property. A value of `1` indicates the player prefers the default background transparency, while a value of `0` indicates the player prefers fully opaque (non‑transparent) background transparency for improved readability and contrast.
100
100
101
101
Multiplying a UI element's `Class.GuiObject.BackgroundTransparency|BackgroundTransparency` with `Class.GuiService.PreferredTransparency|PreferredTransparency` is the recommended way to use this setting; backgrounds will become more opaque as `Class.GuiService.PreferredTransparency|PreferredTransparency` approaches `0`.
102
102
@@ -138,15 +138,15 @@ Multiplying a UI element's `Class.GuiObject.BackgroundTransparency|BackgroundTra
3. Playtest the game, open the **Settings** menu, and adjust **Background Transparency**. The tagged UI elements should update between their default `Class.GuiObject.BackgroundTransparency|BackgroundTransparency` and fully opaque.
149
+
3. Playtest the experience, open the **Settings** menu, and adjust **Background Transparency**. The tagged UI elements should update between their default `Class.GuiObject.BackgroundTransparency|BackgroundTransparency` and fully opaque.
150
150
151
151
<Tabs>
152
152
<TabItemlabel="Default">
@@ -160,9 +160,25 @@ Multiplying a UI element's `Class.GuiObject.BackgroundTransparency|BackgroundTra
160
160
</TabItem>
161
161
</Tabs>
162
162
163
+
### Preferred text size
164
+
165
+
The **Text Size** setting maps to the `Class.GuiService.PreferredTextSize` property which defaults to `Enum.PreferredTextSize.Medium|Medium`. Players can choose to increase text size through the engine's font rendering pipeline to `Enum.PreferredTextSize.Large|Large`, `Enum.PreferredTextSize.Larger|Larger`, or `Enum.PreferredTextSize.Largest|Largest`.
166
+
167
+
When working with UI elements, note the following behaviors:
168
+
169
+
- Text that is constrained to a minimum and/or maximum size through a `Class.UITextSizeConstraint` will **not** shrink below or expand above the set `Class.UITextSizeConstraint.MinTextSize|MinTextSize`/`Class.UITextSizeConstraint.MaxTextSize|MaxTextSize`, regardless of the player's text size setting.
170
+
171
+
- When `Class.TextLabel.TextScaled|TextScaled` is enabled for a `Class.TextLabel.TextScaled|TextLabel` or `Class.TextButton.TextScaled|TextButton`, the element's text will **not** be scaled by the `Class.GuiService.PreferredTextSize|PreferredTextSize` value.
172
+
173
+
- UI elements with `Class.GuiObject.AutomaticSize|AutomaticSize` enabled will shrink/grow as `Class.GuiService.PreferredTextSize|PreferredTextSize` decreases/increases (element bounds will resize to fit the resized text).
174
+
175
+
- When `Class.TextLabel.TextWrapped|TextWrapped` is enabled for a `Class.TextLabel.TextWrapped|TextLabel` or `Class.TextButton.TextWrapped|TextButton`, the element's text will wrap to additional lines as `Class.GuiService.PreferredTextSize|PreferredTextSize` increases, within limits of the element's absolute size.
176
+
177
+
- The results returned by `Class.TextService:GetTextSize()` and `Class.TextService:GetTextBoundsAsync()` honor changes related to `Class.GuiService.PreferredTextSize|PreferredTextSize`.
178
+
163
179
### Reduced motion
164
180
165
-
The in-game **Settings** menu and Roblox app contains a **Reduce Motion**option which maps to the `Class.GuiService.ReducedMotionEnabled` property. A value of `true` indicates the player wants motion effects through [UI animations/tweens](../../ui/animation.md) to be reduced or completely removed.
181
+
The **Reduce Motion**toggle maps to the `Class.GuiService.ReducedMotionEnabled` property. A value of `true` indicates the player wants motion effects through [UI animations/tweens](../../ui/animation.md) to be reduced or completely removed.
166
182
167
183
A basic approach to removing motion from UI tweens is to set the `Datatype.TweenInfo.Time|Time` parameter of a `Datatype.TweenInfo` to `0` when `Class.GuiService.ReducedMotionEnabled|ReducedMotionEnabled` is `true`, effectively making the UI object snap to its target instantly.
168
184
@@ -227,6 +243,6 @@ tween:Play()
227
243
228
244
Different sounds playing at the same time can be overwhelming, distracting, or difficult to distinguish. Providing users with volume controls for different "groups" of audio such as sound effects, music, and speech lets them customize their experience and focus on what they need to.
229
245
230
-
Consider the following example of a very noisy game where the user is able to modify music and sound effect volumes separately.
246
+
Consider the following example of a very noisy experience where the user is able to modify music and sound effect volumes separately.
231
247
232
248
<videosrc="../../assets/publishing/accessibility/Audio-Volume.mp4"controlswidth="800"alt="Video showing how separate volume controls for sounds and music can help players focus on what they need to"></video>
0 commit comments