Erişim kılavuzları

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Erişim engelli bireyler tarafından kullanılabilir ürün ve hizmetlerin tasarım uygulamasıdır. Son istatistikler, insanların %26'sından fazlasının herhangi bir tür engelinin olduğunu belirtmektedir, bu nedenle Roblox oyununuzu erişilebilir hale getirmek daha geniş bir kitleye ulaşmanıza yardımcı olabilir.

Metin boyutu

Oyuncular küçük metinleri okumakta zorluk çekebilir. Aşağıdaki oyun içi mağaza menüsünü bulanıklaştırarak, görme engelli birine nasıl görünebileceğini simüle edin.

Kullanıcı arayüzündeki küçük metin örneği

Küçük yazı tiplerinin etiketlerinin boyutunu artırırsanız, çoğu oyuncu için daha net olacaktır.

Kullanıcı arayüzündeki daha büyük metin örneği

Renk kontrastı

Oyuncular, açık metinlerin açık bir arka planda veya koyu metinlerin koyu bir arka planda okunmasında zorluk yaşayabilir. Erişimi iyileştirmek için, yeterli renk kontrastına sahip metin ve arka plan renkleri seçmeniz önerilir.

Yüksek kontrastlı örnek UI öğeleri
Düşük kontrastlı örnek UI öğeleri

Renk bağımsızlığı

Dünya üzerinde insanların %5'inden fazlası herhangi bir tür renk körlüğüne sahiptir. Birinin yalnızca siyah ve beyaz görmesi nadir olsa da, bir oyunu gri tonlamada görüntülediğinizi hayal edin:

Tam renkli gösterilen kullanıcı arayüzü örneği

Resmi, renklerin yanı sıra farklı semboller kullanarak değiştirerek, daha fazla oyuncunun oyun sırasında ve diğer bağlamlarda farklılığı ayırt etmesini sağlayabilirsiniz:

Tam renkli gösterilen kullanıcı arayüzü örneği

Ses bağımsızlığı

Ses, etkileyici oyunlar için mükemmel bir katkıdır, ancak işitme engelli oyuncular veya ses seviyelerini kapatan herkes, yalnızca sesle iletilen oyun içi olaylarda kafa karışıklığı yaşayabilir.

Aşağıdaki sahneyi düşünün; burada bir telefonun çaldığı yalnızca sesle belirtiliyor ve ardından hem ses hem de görsel yardımlarla belirtiliyor.

Oyuncu tercihleri

Roblox ve oyun içi Ayarlar menülerinden oyunculara çeşitli görsel ayarlar sunulmaktadır; bunlar arasında tercih edilen saydamlık, tercih edilen metin boyutu ve azaltılmış hareket bulunmaktadır. Optimal erişilebilirlik için, kullanıcı arayüzünüz bunları göz önünde bulundurmalıdır.

Tercih edilen saydamlık

Arka Plan Saydamlığı ayarı, GuiService.PreferredTransparency özelliğine denk gelir. 1 değeri, oyuncunun varsayılan arka plan saydamlığını tercih ettiğini gösterirken, 0 değeri, oyuncunun okunabilirlik ve kontrastı artırmak için tamamen opak (şeffaf olmayan) arka plan saydamlığını tercih ettiğini gösterir.

Bir UI öğesinin BackgroundTransparency değerini PreferredTransparency ile çarpmak, bu ayarı kullanmanın önerilen yoludur; PreferredTransparency değeri 0’a yaklaştıkça arka plan daha opak hale gelir.

  1. etiketleme sistemini kullanarak, TextLabels veya Frames gibi BackgroundTransparency değerine sahip tüm UI öğelerine TransparentBack etiketi uygulayın.

    Farklı Arka Plan Saydamlığı seviyelerine sahip dört TextLabel öğesi
    Dört TextLabel öğesi ile değişik BackgroundTransparency seviyeleri
  2. Aşağıdaki kodu LocalScript içinde StarterPlayerScripts'e yapıştırın.

    Tercih Edilen Saydamlık İçin Dinamik Ayarlama

    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
    -- Başlangıçta etiketlenmiş nesneleri saklayın
    for _, object in CollectionService:GetTagged(TAG) do
    onInstanceAdded(object)
    end
    -- Etiketli bir nesnenin eklendiğinde veya çıkarıldığında algılayın
    CollectionService:GetInstanceAddedSignal(TAG):Connect(onInstanceAdded)
    CollectionService:GetInstanceRemovedSignal(TAG):Connect(onInstanceRemoved)
    -- Oyun içi ayar değiştiğinde etiketlenmiş nesneleri ayarlayın
    GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(function()
    for object, defaultTransparency in transparentBackObjects do
    object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
    end
    end)
  3. Oyunu test edin, Ayarlar menüsünü açın ve Arka Plan Saydamlığını ayarlayın. Etiketli UI öğeleri, varsayılan BackgroundTransparency ile tamamen opak arasında güncellenmelidir.

Tercih edilen metin boyutu

Metin Boyutu ayarı, GuiService.PreferredTextSize özelliğine denk gelir ve varsayılan değeri Medium'dur. Oyuncular, motorun yazı tipi işleme süreci aracılığıyla metin boyutunu Large, Larger veya Largest olarak artırmayı seçebilir.

UI öğeleri ile çalışırken aşağıdaki davranışları dikkate alın:

Azaltılmış hareket

Hareketi Azalt seçeneği, GuiService.ReducedMotionEnabled özelliğine denk gelir. true değeri, oyuncunun UI animasyonları/tweenler aracılığıyla hareket efektlerinin azaltılmasını veya tamamen kaldırılmasını istediğini gösterir.

UI tween'lerinden hareketi kaldırmak için temel bir yaklaşım, ReducedMotionEnabled değeri true olduğunda Time parametresini 0 olarak ayarlamak ve böylece UI nesnesinin hedefe anında geçiş yapmasını sağlamaktır.

Azaltılmış Hareket için Hedefe Anında UI Tween

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")
-- Azaltılmış hareket etkinleştirilmediği sürece tween zamanı 0.75 saniye olacak
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()

Anlık geçişe alternatif olarak, ReducedMotionEnabled'ı daha belirgin true/false mantığı ile işleyebilirsiniz. Örneğin, aşağıdaki LocalScript varsayılan olarak hareket tween'lerini kullanır, ancak azaltılmış hareket etkinleştirildiğinde fade-in geçişine geçerek, konum hareketi olmadan daha şık bir geçiş sağlar.

Azaltılmış Hareket için Fade Tween'e Dönüş

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")
-- Tüm çocukları uniform olarak tweenlemek için bir canvas grubu oluşturma
local canvasGroup = Instance.new("CanvasGroup")
canvasGroup.Size = UDim2.fromScale(1, 1)
canvasGroup.BackgroundTransparency = 1
canvasGroup.Parent = menuUI
-- Canvas grubuna çocukları ekleyin
menuUI.SettingsFrame.Parent = canvasGroup
local tweenInfo = TweenInfo.new(0.75, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)
local tween
-- Azaltılmış hareket için fade tween kullanın, aksi takdirde bir hareket tween'i kullanın
if GuiService.ReducedMotionEnabled then
-- Başlangıçta canvas grubunu tamamen saydam (görünmez) olarak ayarlayın
canvasGroup.GroupTransparency = 1
-- Canvas grubunu fade in yapın
tween = TweenService:Create(canvasGroup, tweenInfo, {GroupTransparency = 0})
else
-- Başlangıçta canvas grubunu ekrandan dışarıda ayarlayın
canvasGroup.Position = UDim2.fromScale(0, -1)
-- Canvas grubunu ekrana taşıyın
tween = TweenService:Create(canvasGroup, tweenInfo, {Position = UDim2.fromScale(0, 0)})
end
tween:Play()

Ses kontrolleri

Aynı anda çalan farklı sesler bunaltıcı, dikkat dağıtıcı veya ayırt edilmesi zor olabilir. Kullanıcılara ses efektleri, müzik ve konuşma gibi farklı "grup" sesleri için ses kontrolleri sunmak, onların oyunlarını özelleştirmelerine ve ihtiyaç duydukları şeylere odaklanmalarına olanak tanır.

Kullanıcının müzik ve ses efektleri ses seviyelerini ayrı ayrı değiştirebildiği çok sesli bir oyunun aşağıdaki örneğini düşünün.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.