uiuxtasarım
Ölçüm ve İçerik

Boş Durumlar ve Hata Mesajları Nasıl Tasarlanır?

Boş durum ve hata mesajı tasarımı: NN/g ilkeleri, WCAG 3.3.1 ve 3.3.3, ne zaman ve nerede gösterilir, Türkçe zayıf ve daha iyi mesaj örnekleri tablosu.

Yayın
Okuma
7 dk
Kaynak
6
Boş Durumlar ve Hata Mesajları Nasıl Tasarlanır?
Kısa cevap

İyi bir boş durum, ekranda neden içerik olmadığını söyler ve kullanıcıyı bir sonraki adıma yönlendirir. İyi bir hata mesajı ise sorunu sade bir dille, hatanın yanında ve metin olarak açıklar, nasıl düzeltileceğini önerir ve kullanıcının girdiğini silmez. WCAG 3.3.1 ve 3.3.3 bu iki ilkenin erişilebilirlik karşılığıdır.

Boş durumlar ve hata mesajları, ürün ekiplerinin en son düşündüğü ama kullanıcıların en sık karşılaştığı ekranlardır. Yeni açılmış bir hesap boştur, filtre bazen sonuç döndürmez, bağlantı kopar, form eksik gönderilir. Bu anlarda ekranda ne yazdığı, kullanıcının devam edip etmeyeceğini belirler. Bu yazı iki konuyu birlikte ele alıyor: boş durum türleri, hata mesajı ilkeleri, WCAG gereklilikleri ve Türkçe örnek mesajlar.

Boş durum ve hata neden aynı yazıda?

İkisi de beklenen içeriğin ekranda olmadığı anlardır ve ikisinde de kullanıcının ilk sorusu aynıdır: "Bir şey mi bozuldu, yoksa burada gerçekten bir şey yok mu?" NN/g'nin boş durum rehberinin ilk ilkesi tam olarak budur: sistem durumunu iletin. Alanı boş bırakmak yerine kısa ama açık bir açıklama yazın; böylece kullanıcı içeriğin hiç olmadığını mı yoksa hâlâ yüklendiğini mi anlayabilir 2. Aynı yazı, tamamen boş varsayılan durumların kafa karışıklığı yarattığını ve uygulamaya olan güveni zedelediğini vurgular 2.

Hata mesajları için de benzer bir temel ilke vardır. Nielsen'in dokuzuncu sezgisel ilkesi, hata mesajlarının sade dille yazılmasını, hata kodu içermemesini, sorunu kesin olarak belirtmesini ve yapıcı biçimde bir çözüm önermesini ister 6. Beşinci ilke ise en iyi tasarımın sorunu baştan önleyen tasarım olduğunu hatırlatır 6.

Boş durum türleri ve her birinde ne söylenmeli?

Her boş durum aynı değildir. Ekranın neden boş olduğuna göre mesaj ve eylem değişir:

TürÖrnek bağlamNe söylenmeliÖnerilen eylem
İlk kullanımYeni hesapta fatura listesiBurada ne görüneceği ve nasıl doldurulacağı"Fatura oluştur" butonu
Kullanıcının temizlediğiTüm bildirimler okunmuşDurumun olumlu olduğu, yapılacak bir şey olmadığıGenellikle eylem gerekmez
Sonuç yokArama ya da filtre sonuç döndürmediHangi sorgu için sonuç olmadığı ve neden olabileceğiFiltreleri temizle, yazımı kontrol et
Yetki ya da erişim yokKullanıcının görme izni olmayan raporNeden görülemediği ve kime başvurulacağıErişim iste
YüklenemediBağlantı ya da sunucu sorunuİçeriğin yüklenemediği, verinin kaybolmadığıYeniden dene

NN/g, boş durumların aynı zamanda öğrenme fırsatı olduğunu belirtir: "Sık kullandıklarınızı yıldızlayın, burada listelensin" gibi bir ifade hem alanın neyle dolacağını hem de özelliğin nasıl kullanılacağını öğretir 2. Üçüncü ilke ise ana görevlere doğrudan yol sunmaktır; kullanıcıyı boş durumu dolduracak eyleme bir buton ya da bağlantıyla götürmek 2.

Son iki satırdaki durumlar aslında hata durumlarıdır, ama çoğu üründe boş liste görünümüyle karıştırılır. "Henüz kayıt yok" ile "Kayıtlar yüklenemedi" arasındaki fark, kullanıcının verisinin silindiğini sanıp sanmamasıdır. Bu ikisi tasarımda ayrı durumlar olarak ele alınmalıdır.

Hata mesajı ilkeleri: görünürlük, iletişim, verimlilik

NN/g'nin 2023'te güncellediği hata mesajı rehberi ilkeleri üç başlıkta toplar 1.

Görünürlük. Mesajı hatanın kaynağına yakın gösterin; kullanıcının mesajı ilgili alanla ilişkilendirmesi kolaylaşır. Belirgin ve yüksek kontrastlı göstergeler kullanın, ama hatayı yalnız renk ya da animasyonla anlatmayın. Mesajın ağırlığını hatanın etkisine göre seçin: küçük sorunlar için alan altı metin, bildirim ya da şerit; ciddi sorunlar için iletişim kutusu. Hatayı erken göstermeyin; kullanıcı henüz yazarken hata göstermek düşmanca bir kalıptır 1.

İletişim. Teknik jargon yerine kullanıcının tanıdığı kelimeleri kullanın. "Bir hata oluştu" gibi genel mesajlar yerine sorunu kesin olarak tarif edin. Yalnız sorunu söylemekle yetinmeyip çözüm önerin. Kullanıcıyı suçlayan ifadelerden kaçının ve mizahı dikkatli kullanın; tekrar görülen şaka çabuk bayatlar 1.

Verimlilik. Sık yapılan hataları önceden yakalayın. Kullanıcının girdiğini koruyun ki yeniden yazmak zorunda kalmasın. Mümkünse olası düzeltmeleri seçilebilir öneriler olarak sunun. Gerekiyorsa sistemin nasıl çalıştığını kısa bir açıklama ya da bağlantıyla anlatın 1.

GOV.UK Design System da aynı yönde somut kurallar verir: mesaj ne olduğunu söylemeli ve nasıl düzeltileceğini anlatmalı, sade ve olumlu bir dille doğrudan konuya girmeli, alan etiketindeki ifadeyi kullanmalıdır 5. Hata mesajı gösterilirken hiçbir form alanı temizlenmemeli; kullanıcı neyin yanlış gittiğini görüp önceki cevabını düzenleyebilmelidir 5. Sayfanın üstündeki hata özeti ile alan altındaki mesajın aynı ifadeyi kullanması da önerilir 5.

WCAG ne istiyor: 3.3.1 ve 3.3.3

Hata mesajları erişilebilirlik açısından da tanımlı gerekliliklere sahiptir.

  • 3.3.1 Hata Tanımlama (A düzeyi): Bir giriş hatası otomatik olarak tespit edilirse, hatalı öğe belirlenmeli ve hata kullanıcıya metinle açıklanmalıdır 3. W3C'nin açıklama belgesi, renk ya da yazı stiliyle hata göstermenin yasak olmadığını, ancak hatanın ayrıca metinle de tanımlanması gerektiğini belirtir 3.
  • 3.3.3 Hata Önerisi (AA düzeyi): Bir giriş hatası otomatik olarak tespit edilir ve düzeltme önerileri biliniyorsa, içeriğin güvenliğini ya da amacını tehlikeye atmadıkça öneriler kullanıcıya sunulmalıdır 4. Belgenin örneklerinden biri, ay adı beklenen bir alana "12" yazıldığında kabul edilen değerleri göstermek ya da girdiyi "Aralık" olarak yorumlamaktır 4.

Güvenlik istisnası pratikte önemlidir. Örneğin bir giriş ekranında hangi bilginin yanlış olduğunu ayrıntılı söylemek, hesabın varlığını ele verebilir. Bu durumda "E-posta adresi ya da şifre hatalı" gibi bir mesaj, öneri vermeden de hatayı metinle tanımlar. Web formlarının genel erişilebilirliği kapsamlı bir konudur; bu yazı ürün ekranlarına odaklanıyor. Mobil uygulamalarda hata mesajlarının ekran okuyucuyla nasıl duyurulacağına mobil uygulama erişilebilirliği yazısında değindik.

Türkçe örnekler: zayıf ve daha iyi mesajlar

Aşağıdaki örnekler gerçek bir ürüne ait değildir; ilkeleri somutlaştırmak için yazılmıştır.

DurumZayıf mesajDaha iyi mesajNeden
Zorunlu alan boşBu alan zorunludur.Ad soyadınızı girin.Alan etiketinin ifadesini kullanır, ne yapılacağını söyler
E-posta biçimiGeçersiz e-posta.E-posta adresini @ işareti ve alan adıyla birlikte girin."Geçersiz" bilgi vermez, eksik olanı söyler
IBAN biçimiHatalı IBAN!IBAN TR ile başlamalı ve 26 karakter olmalı.Kuralı açıkça verir, ünlem ile suçlamaz
Tarih aralığıTarih hatası.Bitiş tarihi başlangıç tarihinden sonra olmalı.Hangi alanın neden yanlış olduğunu söyler
Dosya boyutuDosya yüklenemedi.Dosya en fazla 10 MB olabilir. Daha küçük bir dosya seçin.Sınırı ve çözümü verir
Sunucu hatasıError 500: Internal Server ErrorDeğişiklikler kaydedilemedi. Bağlantınızı kontrol edip yeniden deneyin; girdiğiniz bilgiler korunuyor.Jargonsuz, veri kaybı endişesini giderir
Arama sonucu yokSonuç bulunamadı."kırmızı mont" için sonuç yok. Yazımı kontrol edin ya da filtreleri kaldırın.Sorguyu tekrar eder, iki çıkış yolu sunar
İlk kullanımVeri yok.Henüz fatura oluşturmadınız. Oluşturduğunuz faturalar burada listelenir.Alanın amacını öğretir, eyleme bağlanır

GOV.UK, İngilizce mesajlar için "valid" ve "invalid" kelimelerinin bir şey katmadığını, "please" kelimesinin seçenek ima ettiğini, "sorry" kelimesinin ise sorunu çözmeye yardım etmediğini belirtir; "oops" gibi esprili ifadeleri de önermez 5. Türkçede "geçersiz" ve "hatalı" için aynı mantık geçerlidir. "Lütfen" ise Türkçede farklı bir nezaket yükü taşır; tamamen yasaklamak yerine mesajın başında asıl talimatı geciktirip geciktirmediğine bakın ve kararı stil rehberinize yazın. Türkçe arayüz metninin hitap, ek ve yazım kurallarını Türkçe arayüz metni rehberinde ayrıntılı anlattık.

Bir hata mesajını adım adım yazmak

Her hata mesajı için aynı sırayı izlemek, ekip içinde tutarlılık sağlar:

  1. Hatayı önleyebilir misiniz? Tarih seçici, biçim maskesi ya da varsayılan değer hatayı hiç oluşturmayabilir 6.
  2. Ne oldu? Sorunu kullanıcının diliyle, tek cümlede söyleyin 1.
  3. Nasıl düzeltilir? Biliniyorsa doğru biçimi, sınırı ya da seçenekleri verin 4.
  4. Nerede gösterilecek? Alanın hemen yanında, gerekiyorsa sayfa üstündeki özetle aynı ifadeyle 5.
  5. Ne zaman gösterilecek? Gönderimde ya da alan tamamlandıktan sonra; yazarken değil 1.
  6. Erişilebilir mi? Mesaj metin olarak var mı ve alanla programatik olarak ilişkilendirildi mi 3?
  7. Girdi korunuyor mu? Kullanıcının yazdığı hiçbir şey silinmemeli 5.

Mesaj kataloğu: tutarlılığın en kolay yolu

Hata ve boş durum metinleri dağınık yazıldığında aynı sorun farklı ekranlarda farklı adlarla anılır. Bunu önlemenin en pratik yolu, tüm mesajları tek bir katalogda toplamaktır: durum, tetikleyici, mesaj metni, eylem ve varsa destek referansı. Katalog, tasarımcıların ve geliştiricilerin aynı listeye bakmasını sağlar; yeni bir hata türü eklendiğinde önce katalogda var olan bir ifadenin yeterli olup olmadığı kontrol edilir.

Form alanlarının kendisini, etiketlerini ve doğrulama zamanlamasını uygulama form tasarımı yazısında ele aldık. Ürününüzün tüm hata ve boş durum metinlerini bir katalog hâlinde yazmak ya da gözden geçirmek isterseniz UX yazımı hizmetimize göz atabilirsiniz.

Sık sorulan sorular

Şart değil. Boş durumun işi, kullanıcıya burada neden içerik olmadığını ve sonraki adımın ne olduğunu söylemektir. Bunu net bir cümle ve bir eylem butonu yapar. İllüstrasyon tonu destekleyebilir, ama yoğun iş ekranlarında ve küçük panellerde yer kaplayıp asıl mesajı aşağı itebilir. Önce metni ve eylemi tasarlayın, görsel kararını sonra verin.

Varsayılan olarak gönderimde ya da kullanıcı alanı tamamlayıp ayrıldıktan sonra gösterilmelidir. NN/g, kullanıcı henüz yazarken hata göstermeyi düşmanca bir kalıp olarak tanımlar. Anlık geri bildirim, şifre kuralları ya da kullanıcı adı müsaitliği gibi hataya açık ve düzeltmesi zahmetli alanlarda işe yarar. Her durumda girilen değer silinmemelidir.

GOV.UK, İngilizce mesajlarda 'please' kelimesinin bir seçenek ima ettiği, 'sorry' kelimesinin ise sorunu çözmeye yardım etmediği gerekçesiyle kullanılmamasını önerir. Türkçede 'lütfen' nezaket beklentisi farklı olduğu için tamamen yasaklamak gerekmeyebilir; ama mesajın başına eklenip asıl talimatı geciktiriyorsa çıkarılmalıdır. Kararı stil rehberinize yazın ve tüm üründe tutarlı uygulayın.

Ana mesajda gizlenmelidir; kullanıcının ihtiyacı ne olduğu ve ne yapacağıdır. NN/g de anlaşılmaz hata kodlarının yalnız teşhis amacıyla gösterilmesini önerir. Destek ekibinin sorunu bulabilmesi için kod ya da referans numarası, mesajın altında küçük ve kopyalanabilir bir ek bilgi olarak verilebilir. Böylece kullanıcı ne yapacağını anlar, destek ekibi de kaydı bulur.

Hayır. WCAG 3.3.1, otomatik olarak tespit edilen bir giriş hatasında hatalı öğenin belirlenmesini ve hatanın kullanıcıya metinle açıklanmasını ister. Renk ve stil hatayı vurgulamak için kullanılabilir, ama tek başına yeterli değildir. Mesaj metni alanla programatik olarak ilişkilendirilmeli ki ekran okuyucu kullanıcıları da hatayı duysun.

Kaynaklar

  1. 1Nielsen Norman Group. Error-Message Guidelines
  2. 2Nielsen Norman Group. Designing Empty States in Complex Applications: 3 Guidelines
  3. 3W3C WAI. Understanding Success Criterion 3.3.1: Error Identification
  4. 4W3C WAI. Understanding Success Criterion 3.3.3: Error Suggestion
  5. 5GOV.UK Design System. Error message
  6. 6Nielsen Norman Group. 10 Usability Heuristics for User Interface Design

uiuxtasarim Editör Ekibi

Bu yazı ekibimizin editoryal sürecinden geçti: kaynaklar tek tek doğrulandı, sayısal iddialar kaynağa bağlandı. Yayın ilkelerimiz

İlgili hizmet

UX Yazımı

Düğmeden hata mesajına Türkçe arayüz metni: kısa, net, tutarlı ve kullanıcıyı bir sonraki adıma taşıyan.

İncele
Sonraki adım

Ürününüzü birlikte inceleyelim

Görüşmede ürününüzü, kullanıcılarınızı, takıldıkları yerleri ve ekibinizin yapısını konuşur; yazılı bir kapsam, yöntem ve takvim önerisi çıkarırız. Bağlayıcı değildir.

WhatsAppGörüşme Planla