Ko'rinishlar o'zgarishi haqida gap ketganda, bitta sahifali dasturlar kirish uchun katta muammo tug'diradi. Sahifani yangilamasdan, ekran o'quvchilari ushbu muhim foydalanuvchi interfeysi o'zgarishlarini olmaydilar, bu esa ko'rish qobiliyati past foydalanuvchilarni sarosimaga soladi va bilmaydi.
Bitta echim - sahifa sarlavhasi asosida xabar yaratish va ARIA jonli hududidan foydalanib, yangi xabar yuklanganligini foydali xabar orqali aniq e'lon qilish. Avval viewContent yangilanganida chaqiriladigan funktsiyani yarating. AngularJS bu maqsadda $ viewContentLoaded tadbirini taqdim etadi. Nazorat kodida hodisani tinglang va funktsiyani chaqiring (CoffeeScript-da):
app.controller 'PageController', ($ qamrovi, $ joylashuvi, $ http) -> $ qamrovi. $ on '$ viewContentLoaded' da, annunciation_view_loaded
Annunciation_view_loaded funktsiyasida sahifa sarlavhasini yangilang va xabarni e'lon qiling. Bitta sahifali ramkalar sahifa sarlavhalarini avtomatik ravishda yangilamasa-da, sahifa sarlavhasini joriy ko'rinish bilan sinxronlashtirilishi foydalanuvchilarning ko'rinish haqidagi tushunchalarini yaxshilaydi.
Buni amalga oshirishning usullaridan biri ko'rinish sarlavhasini saqlash uchun ma'lumotlar atributini ko'rinishda biron bir joyda ishlatishdir:
document.title = $ ('[data-viewtitle]'). ma'lumotlar 'viewtitle'
Endi yangilangan sahifa sarlavhasidan foydalanib xabar yarating va uni e'lon qiling:
$ .announce (document.title + ’, ko'rish yuklangan ')
$ .announce () - jQuery funktsiyasi, tarkibni e'lon qilish uchun bitta ko'rinmaydigan jonli hududdan foydalaniladi. Ushbu yondashuv jonli hududlardan vaqtincha foydalanishga nisbatan kodni va disk raskadrovka harakatlarini soddalashtirishga yordam beradi. Biroq, eslash kerak bo'lgan bir nechta eng yaxshi amaliyotlar mavjud.
Birinchidan, o'zingizning sahifangizda aria-live = "muloyim | tasdiqlovchi" yordamida tarkibni e'lon qilish uchun bitta "diktor" jonli hududini yarating. Boshqa jonli hududlardan, shu jumladan jonli mintaqadagi rollardan foydalanmang (masalan: role = "alert | timer | log"). Jonli mintaqaga misol:
div aria-live = "polite" id = "e'lonchi"> (Bu erda qo'shilgan yoki yangilangan matn e'lon qilinadi) / div>
Ikkinchidan, tarkibni yangilashdan ko'p o'tmay, jonli mintaqadagi tarkibni tozalang. Bu foydalanuvchilarning eski xabarlarga qoqilishlariga yo'l qo'ymaydi.
Va nihoyat, har qanday kirish texnikasi singari, $ .announce () dan oqilona foydalaning. U faqat muhim UI yangilanishlarini etkazish uchun ishlatilishi kerak.
So'zlar: Patrik Foks
Patrik Foks - Ostindagi Razorfish kompaniyasining Internet UI texnologiyalari bo'yicha direktori. Ushbu maqola dastlab net jurnalining 271-sonida paydo bo'lgan.
Bu sizga yoqdimi? Buni o'qing!
- Raqamli kirish uchun dizaynerning qo'llanmasi
- Eng yaxshi bepul skript shriftlari
- Grafiti shriftini bepul tanlash