Toegankelijkheidsrichtlijnen

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.

Toegankelijkheid is de praktijk van het ontwerpen van producten en diensten die bruikbaar zijn voor mensen met een handicap. Recente statistieken geven aan dat meer dan 26% van de mensen een of andere vorm van handicap heeft, dus het toegankelijk maken van je Roblox-spel kan je helpen een breder publiek te bereiken.

Tekstgrootte

Spelers kunnen het moeilijk vinden om kleine tekst te lezen. Vergelijk het volgende in-game winkelmenu met een vervaging toegepast, wat simuleert hoe het eruit zou kunnen zien voor iemand met een verminderd gezichtsvermogen.

Voorbeeld van kleine tekst op gebruikersinterface

Als je de grootte van de kleinere letterlabels vergroot, zal het voor de meeste spelers duidelijker zijn.

Voorbeeld van grotere tekst op gebruikersinterface

Kleurcontrast

Spelers kunnen het moeilijk vinden om lichte tekst op een lichte achtergrond te lezen, of donkere tekst op een donkere achtergrond. Om de toegankelijkheid te verbeteren, wordt aanbevolen om tekst- en achtergrondkleuren te kiezen met voldoende kleurcontrast.

Voorbeeld van UI-elementen met hoog contrast
Voorbeeld van UI-elementen met laag contrast

Kleurafhankelijkheid

Meer dan 5% van de mensen in de wereld heeft een vorm van kleurenblindheid. Hoewel het zeldzaam is dat iemand alleen in zwart-wit ziet, stel je voor dat je een spel in grijstinten bekijkt:

Voorbeeld gebruikersinterface weergegeven in volle kleur

Door de afbeelding te wijzigen om verschillende symbolen naast kleuren te gebruiken, kunnen meer spelers het verschil in gameplay en in andere contexten zien:

Voorbeeld gebruikersinterface weergegeven in volle kleur

Geluidafhankelijkheid

Geluid is een uitstekende aanvulling voor meeslepende spellen, maar spelers met gehoorproblemen of iedereen die het volume uit heeft, zal in-game gebeurtenissen die alleen met geluid worden overgebracht, verwarrend vinden.

Overweeg de volgende scène waarin een bel die rinkelt alleen door geluid wordt aangegeven, en vervolgens wordt aangegeven met zowel geluid als visuele hulpmiddelen.

Speler voorkeuren

Verschillende visuele instellingen zijn beschikbaar voor spelers vanuit de Roblox- en in-game Instellingen menu's, inclusief voorkeursdoorzichtigheid, voorkeurs tekstgrootte, en verminderde beweging. Voor optimale toegankelijkheid zou je gebruikersinterface aan elke voorkeur moeten voldoen.

Voorkeursdoorzichtigheid

De Achtergrond Doorzichtigheid instelling komt overeen met de GuiService.PreferredTransparency eigenschap. Een waarde van 1 geeft aan dat de speler de standaard achtergronddoorzichtigheid verkiest, terwijl een waarde van 0 aangeeft dat de speler de voorkeur geeft aan volledig ondoorzichtige (niet-doorzichtige) achtergronddoorzichtigheid voor verbeterde leesbaarheid en contrast.

Het vermenigvuldigen van de BackgroundTransparency van een UI-element met PreferredTransparency is de aanbevolen manier om deze instelling te gebruiken; achtergronden worden ondoorzichtiger naarmate PreferredTransparency dichter bij 0 komt.

  1. Gebruik het tagging systeem, pas een tag van TransparentBack toe op alle UI-items met BackgroundTransparency zoals TextLabels of Frames.

    Vier TextLabel-elementen met verschillende niveaus van BackgroundTransparency
    Vier TextLabel elementen met verschillende BackgroundTransparency niveaus
  2. Plak de volgende code in een LocalScript binnen StarterPlayerScripts.

    Dynamische Aanpassing voor Voorkeursdoorzichtigheid
    local GuiService = game:GetService("GuiService")
    local CollectionService = game:GetService("CollectionService")
    local TAG = "TransparentBack"
    local transparentBackObjects = {}
    local function onInstanceAdded(object)
    if object.BackgroundTransparency then
    local defaultTransparency = object.BackgroundTransparency
    transparentBackObjects[object] = defaultTransparency
    object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
    end
    end
    local function onInstanceRemoved(object)
    transparentBackObjects[object] = nil
    end
    -- Sla de initiële getagde instanties op
    for _, object in CollectionService:GetTagged(TAG) do
    onInstanceAdded(object)
    end
    -- Detecteer wanneer een getagde instantie wordt toegevoegd of verwijderd
    CollectionService:GetInstanceAddedSignal(TAG):Connect(onInstanceAdded)
    CollectionService:GetInstanceRemovedSignal(TAG):Connect(onInstanceRemoved)
    -- Wanneer de in-game instelling wordt gewijzigd, pas getagde instanties aan
    GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(function()
    for object, defaultTransparency in transparentBackObjects do
    object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
    end
    end)
  3. Test het spel, open het Instellingen menu en pas de Achtergrond Doorzichtigheid aan. De getagde UI-elementen zouden moeten updaten tussen hun standaard BackgroundTransparency en volledig ondoorzichtig.

Voorkeurs tekstgrootte

De Tekstgrootte instelling komt overeen met de GuiService.PreferredTextSize eigenschap die standaard is ingesteld op Medium. Spelers kunnen ervoor kiezen om de tekstgrootte te vergroten via de font-rendering pipeline van de engine naar Large, Larger, of Largest.

Bij het werken met UI-elementen, let op de volgende gedragingen:

Verminderde beweging

De Verminder Beweging schakelaar komt overeen met de GuiService.ReducedMotionEnabled eigenschap. Een waarde van true geeft aan dat de speler wil dat bewegingseffecten via UI animaties/tweens worden verminderd of volledig verwijderd.

Een basisaanpak om beweging uit UI-tweens te verwijderen, is om de Time parameter van een TweenInfo in te stellen op 0 wanneer ReducedMotionEnabled true is, waardoor het UI-object onmiddellijk naar zijn doel springt.

UI Tween Snap-to-Target voor Verminderde Beweging
local GuiService = game:GetService("GuiService")
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local menuUI = playerGui:WaitForChild("MenuUI")
-- Gebruik tween tijd van 0.75 seconden tenzij verminderde beweging is ingeschakeld
local TWEEN_TIME = if GuiService.ReducedMotionEnabled then 0 else 0.75
local tweenInfo = TweenInfo.new(TWEEN_TIME, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)
local tween = TweenService:Create(menuUI.SettingsFrame, tweenInfo, {Position = UDim2.fromScale(0.5, 0.5)})
tween:Play()

Als alternatief voor instant springen, kun je ReducedMotionEnabled met meer onderscheidende true/false logica behandelen. Bijvoorbeeld, de volgende LocalScript gebruikt standaard bewegings-tweening, maar schakelt over naar vervagen voor spelers die verminderde beweging inschakelen, wat resulteert in een elegantere overgang zonder positionele beweging.

Fallback naar Fade Tween voor Verminderde Beweging
local GuiService = game:GetService("GuiService")
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local menuUI = playerGui:WaitForChild("MenuUI")
-- Maak een canvasgroep om alle kinderen uniform te tweenen
local canvasGroup = Instance.new("CanvasGroup")
canvasGroup.Size = UDim2.fromScale(1, 1)
canvasGroup.BackgroundTransparency = 1
canvasGroup.Parent = menuUI
-- Voeg kinderen toe aan canvasgroep
menuUI.SettingsFrame.Parent = canvasGroup
local tweenInfo = TweenInfo.new(0.75, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)
local tween
-- Gebruik vervagende tween voor verminderde beweging, of een bewegings-tween anders
if GuiService.ReducedMotionEnabled then
-- Stel canvasgroep aanvankelijk in op volledig transparant (onzichtbaar)
canvasGroup.GroupTransparency = 1
-- Vervag canvasgroep in
tween = TweenService:Create(canvasGroup, tweenInfo, {GroupTransparency = 0})
else
-- Stel canvasgroep aanvankelijk buiten het scherm in
canvasGroup.Position = UDim2.fromScale(0, -1)
-- Beweeg canvasgroep op het scherm
tween = TweenService:Create(canvasGroup, tweenInfo, {Position = UDim2.fromScale(0, 0)})
end
tween:Play()

Volume-instellingen

Verschillende geluiden die tegelijkertijd worden afgespeeld, kunnen overweldigend, afleidend of moeilijk te onderscheiden zijn. Het bieden van volumeregelingen voor verschillende "groepen" audio, zoals geluidseffecten, muziek en spraak, stelt gebruikers in staat om hun spel aan te passen en zich te concentreren op wat ze nodig hebben.

Overweeg het volgende voorbeeld van een zeer luidruchtig spel waarin de gebruiker de volumes van muziek en geluidseffecten afzonderlijk kan aanpassen.

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.