CodeBlanks Logo Icon CodeBlanks

Grid ve tree

HTML kursu · Uzman · Ders 9/39

ARIA grid, tree ve treegrid desenlerini öğrenirsin.

role="grid" ile veri kılavuzu

role="grid", tablo benzeri ama etkileşimli veri kılavuzları içindir. Satırlar role="row", hücreler role="gridcell" olur. Klavyeyle hücreler arası ok tuşlarında gezilebilir; bu yüzden gerçek bir <table> yerine yalnızca etkileşim gerektiğinde grid kullanılır.

Yerel <table> statik veri için yeterliyse ARIA eklemeye gerek yok. Ama satırları sıralama, sürükleme ya da hücre içi düzenleme gibi etkileşimler varsa role="grid" devreye girer. aria-readonly ile salt okunur, aria-multiselectable ile çoklu seçim bildirilir.

role="tree" ve treeitem

role="tree", dallanıp budaklanan bir menü ya da dosya yapısı içindir. Her öğe role="treeitem" olur; alt dal ise role="group" içinde yer alır. Bir treeitem'ın alt dalı varsa aria-expanded ile açık/kapalı durumu bildirilir.

Düzey bildirmek için aria-level="1", "2" gibi değerler yazılır; kök 1'dir. <ul role="tree"><li role="treeitem" aria-level="1">Satışlar</li></ul> örneğinde tek düzeyli bir ağaç kökü görülür.

treegrid: hem ağaç hem tablo

role="treegrid", ağaç menü ile tabloyu birleştirir. Her satır hem genişleyip daralan bir dal hem de hücrelere sahip olur; dosya yöneticileri ya da proje panoları bunu kullanır. Satırlar role="row", hücreler role="gridcell"; üst satıra bağlamak için aria-owns ya da iç içe role="group" kullanılır.

Bu rol karmaşıktır; yalnızca gerçekten gerekmedikçe tercih edin. Çoğu durumda bir <table> artı birkaç <details> aynı işi daha az hatayla götürür.

Uygulama İki düzeyli bir ağaç yaz

Body içine bir <ul role="tree"> ekle. İçine iki <li role="treeitem"> koy. Birinci treeitem'a aria-expanded="true" ver ve içine bir <ul role="group"> aç; içinde bir alt <li role="treeitem">Alt dal</li> olsun. Birinci üst treeitem'ın metni Belgeler, ikincinin metni Dosyalar olsun.

Örnek çözümü göster
<body>
  <ul role="tree">
    <li role="treeitem" aria-expanded="true">Belgeler
      <ul role="group">
        <li role="treeitem">Alt dal</li>
      </ul>
    </li>
    <li role="treeitem">Dosyalar</li>
  </ul>
</body>

Kendini test et

  1. Hiyerarşik bir menü için hangi role kullanılır?

    • grid
    • table
    • tree
    • list
    Cevabı göster

    tree — Doğru. role="tree" ağaç yapısındaki hiyerarşik menüler içindir.

  2. tree rolünü yaz

    <ul role="____">
      <li role="treeitem" aria-level="1">Satışlar</li>
    </ul>
    Cevabı göster
    <ul role="tree">
      <li role="treeitem" aria-level="1">Satışlar</li>
    </ul>
  3. Rolü senaryosuyla eşleştir

    role="grid"
    Etkileşimli tablo
    role="tree"
    Hiyerarşik menü
    role="treegrid"
    Ağaç + tablo hibrit
    role="row"
    Bir satır

Uzman bölümündeki tüm dersler