Untuk apa kelas itu sr-only
digunakan? Apakah ini penting atau dapatkah saya menghapusnya? Bekerja dengan baik tanpa.
Inilah contoh saya:
<div class="btn-group">
<button type="button" class="btn btn-info btn-md">Departments</button>
<button type="button" class="btn btn-info dropdown-toggle btn-md" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Sales</a></li>
<li><a href="#">Technical</a></li>
<li class="divider"></li>
<li><a href="#">Show all</a></li>
</ul>
</div>
sumber
clipping
the class is used to hide information used for screen readers
? Apakah ia bersembunyi dari pembaca layar? Atau tidak ditampilkan di browser? Lebih jelas jika dokumentasi mengatakan sesuatu seperti "kelas sr-only menunjukkan bahwa elemen ini hanya untuk pembaca layar, dan tidak ditampilkan di browser".Seperti yang dikatakan JoshC, kelas digunakan untuk menyembunyikan informasi yang digunakan untuk pembaca layar. Tetapi tidak hanya untuk menyembunyikan label, Anda mungkin mempertimbangkan untuk menyembunyikan dari pengguna yang melihat sebuah tautan internal "lompat ke konten utama" yang diinginkan untuk pengguna tunanetra jika Anda memiliki navigasi yang kompleks atau iklan sebelum konten utama.
Menurut Organisasi Kesehatan Dunia, 285 juta orang mengalami gangguan penglihatan. Jadi membuat situs web dapat diakses adalah penting.
PEMBARUAN 2019:
Sebagai pengembang, kita harus membuat konten yang dapat diakses yang hanya berfungsi untuk semua out-of-the-box dan tidak secara khusus menargetkan pembaca layar. Itu tidak selalu mungkin tetapi hati-hati menggunakan penyesuaian ARIA dan "pembaca layar" . Jangan lakukan itu jika Anda tidak sepenuhnya memahaminya. Implementasi yang salah mungkin jauh lebih buruk daripada tidak menggunakannya sama sekali. Silakan baca panduan-aksesibilitas-pengembang pada contoh-contoh buruk ARIA . Di sana Anda akan menemukan komponen / widget yang sepenuhnya dapat diakses yang tidak memerlukan intervensi "pembaca layar" saja.
sumber
Saya menemukan ini dalam contoh navbar , dan menyederhanakannya.
Anda melihat mana yang dipilih (
sr-only
bagian disembunyikan):Anda mendengar yang mana yang dipilih jika Anda menggunakan pembaca layar:
Sebagai hasil dari teknik ini, orang buta seharusnya menavigasi lebih mudah di situs web Anda.
sumber
.sr-only
adalah nama kelas yang khusus digunakan untuk pembaca layar. Anda dapat menggunakan nama kelas apa saja, tetapi.sr-only
cukup umum digunakan. Jika Anda tidak peduli tentang pengembangan dengan kepatuhan, maka itu dapat dihapus. Ini tidak akan memengaruhi UI dengan cara apa pun jika dihapus karena CSS untuk kelas ini tidak terlihat oleh peramban desktop dan perangkat seluler.Tampaknya ada beberapa informasi yang hilang di sini tentang penggunaan
.sr-only
untuk menjelaskan tujuannya dan untuk pembaca layar. Pertama dan terpenting, sangat penting untuk selalu mengingat pengguna yang terganggu. Kerusakan adalah tujuan kepatuhan 508: https://www.section508.gov/ , dan sangat bagus bahwa bootstrap mempertimbangkan hal ini. Namun, penggunaan.sr-only
tidak semua yang perlu dipertimbangkan untuk kepatuhan 508. Anda memiliki penggunaan warna, ukuran font, aksesibilitas melalui navigasi, deskriptor, penggunaan aria dan banyak lagi.Tetapi untuk
.sr-only
- apa yang sebenarnya dilakukan CSS? Ada beberapa varian CSS yang sedikit berbeda.sr-only
. Salah satu dari sedikit yang saya gunakan adalah di bawah ini:CSS di atas menyembunyikan konten di browser desktop dan seluler yang dibungkus dengan kelas ini, tetapi dilihat oleh pembaca layar seperti JAWS: http://www.freedomscientific.com/Products/Blindness/JAWS . Contoh markup adalah sebagai berikut:
Selain itu, jika elemen DOM memiliki lebar dan tinggi 0, elemen tersebut tidak terlihat oleh DOM. Inilah sebabnya mengapa CSS di atas digunakan
width: 1px; height: 1px;
. Dengan menggunakandisplay: none
dan mengatur CSS Anda keheight: 0
danwidth: 0
, elemen tidak terlihat oleh DOM dan karenanya bermasalah. Penggunaan CSS di ataswidth: 1px; height: 1px;
tidak semua yang Anda lakukan untuk membuat konten tidak terlihat oleh browser desktop dan seluler (tanpaoverflow: hidden
, konten Anda masih akan ditampilkan di layar), dan dapat dilihat oleh pembaca layar. Menyembunyikan konten dari desktop dan browser seluler dilakukan dengan menambahkan offset dariwidth: 1px
dan yangheight: 1px
sebelumnya disebutkan dengan menggunakan:Terakhir, untuk memiliki gagasan yang sangat bagus tentang apa yang dilihat dan disampaikan pembaca layar kepada pengguna yang mengalami gangguan, matikan penataan halaman untuk browser Anda. Untuk Firefox, Anda dapat melakukan ini dengan masuk ke:
Saya harap informasi yang saya berikan di sini dapat digunakan lebih lanjut untuk seseorang selain tanggapan lainnya.
sumber
Memastikan bahwa objek ditampilkan (atau seharusnya) hanya untuk pembaca dan perangkat serupa. Ini memberi arti lebih dalam konteks dengan elemen lain dengan atribut aria-hidden = "true" .
Glyphicon akan ditampilkan di semua perangkat lain, kata Kesalahan: pada pembaca teks.
sumber
The
.sr-only
kelas menyembunyikan elemen untuk semua perangkat kecualiscreen readers:
Lewati ke konten utama Gabungkan .sr-only dengan .sr-only-focusable untuk menampilkan elemen itu lagi ketika difokuskan
sumber