Sobes.tech
Middle

Arayüz bloğunda tablolar oluştururken hangi yaklaşıma eğilimliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Arayüzde tablolar oluştururken aşağıdaki yaklaşımı benimserim:

  1. Semantik HTML etiketlerinin kullanımı: <table>, <thead>, <tbody>, <tr>, <th>, <td> etiketlerini doğru veri yapısı için kullanıyorum. Bu, erişilebilirliği, SEO'yu ve tarayıcılar ile yardımcı teknolojilerin tablo yapısını anlamasını artırır.

    <table>
      <thead>
        <tr>
          <th>ID</th>
          <th>İsim</th>
          <th>Yaş</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td>Ivan</td>
          <td>30</td>
        </tr>
        <tr>
          <td>2</td>
          <td>Maria</td>
          <td>25</td>
        </tr>
      </tbody>
    </table>
    
  2. Stil ve yapının ayrılması (CSS): Tabloyu (kenarlıklar, boşluklar, renkler, hizalama) CSS ile biçimlendiriyorum. Satır içi stiller ve <table border="1"> gibi özniteliklerden kaçınıyorum.

    table {
      border-collapse: collapse; /* Hücre sınırlarını birleştir */
      width: 100%;
    }
    
    th, td {
      border: 1px solid #ddd;
      padding: 8px;
      text-align: left;
    }
    
    th {
      background-color: #f2f2f2;
    }
    
  3. Uyarlanabilirlik: Farklı cihazlar ve ekran boyutlarında düzgün görüntülenen tablolar oluşturuyorum. Karmaşık tablolar için şu yaklaşımları kullanıyorum:

    • Dar ekranlarda ikincil sütunları gizleme.
    • Mobil cihazlarda satırları kartlara veya listelere dönüştürme.
    • Yatay kaydırma için flex-wrap veya overflow: auto kullanma.
    • Hücrelerin uyumlu düzeni için CSS Grid kullanma.
  4. Erişilebilirlik: Sınırlı kullanıcılar için erişilebilirliğe dikkat ediyorum, şu yöntemleri kullanıyorum:

    • scope="col" özniteliği ile başlık hücreleri (<th>) kullanma.
    • <caption> veya aria-label özniteliği ile tablo başlığı ekleme.
    • Kontrastlı renkler kullanma.
    • Klavye ile doğru gezinmeyi sağlama.
  5. Performans: Büyük veri hacimleri için satır sanallaştırma veya sayfalama kullanıyorum, böylece tüm verileri aynı anda yüklemiyorum veya çizim yapmıyorum.

  6. Kütüphane kullanımı (gerekirse): Karmaşık projelerde veya gelişmiş özellikler (sıralama, filtreleme, düzenleme) gerekiyorsa, hazır UI kütüphaneleri (örneğin, DataTables, React Table, Ant Design Table) kullanabilirim, ancak bilinçli seçim ve çalışma prensiplerini anlama ile.