Sobes.tech
Middle

İnterfeys blokunda cədvəllər yaradan zaman hansı yanaşmaya üstünlük verirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

İstifadəçi interfeysində cədvəllər yaratarkən aşağıdakı yanaşmanı tətbiq edirəm:

  1. Semantik HTML etiketlərindən istifadə: <table>, <thead>, <tbody>, <tr>, <th>, <td> etiketlərini düzgün məlumat strukturu üçün istifadə edirəm. Bu, brauzerlər və köməkçi texnologiyalar üçün cədvəlin strukturunu anlamağı, SEO və əlçatanlığı yaxşılaşdırır.

    <table>
      <thead>
        <tr>
          <th>ID</th>
          <th>Ad</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 və strukturun ayrılması (CSS): Cədvəli (sərhədlər, kənar boşluqlar, rənglər, hizalama) CSS ilə tərtib edirəm. Inline-stil və <table border="1"> atributlarından qaçınırıq.

    table {
      border-collapse: collapse; /* Hüceyrə sərhədlərinin birləşdirilməsi */
      width: 100%;
    }
    
    th, td {
      border: 1px solid #ddd;
      padding: 8px;
      text-align: left;
    }
    
    th {
      background-color: #f2f2f2;
    }
    
  3. Uyğunlaşma: Müxtəlif cihazlarda və ekran ölçülərində düzgün göstərilən cədvəllər yaradıram. Çətin cədvəllər üçün aşağıdakı yanaşmaları istifadə edirəm:

    • Dar ekranlarda ikinci dərəcəli sütunları gizlətmək.
    • Mobil cihazlarda satırları kartlara və ya siyahılara çevirmək.
    • Üfüqi sürüş üçün flex-wrap və ya overflow: auto istifadə etmək.
    • Hüceyrələrin uyğun yerləşdirilməsi üçün CSS Grid istifadə etmək.
  4. Əlçatanlıq: İstifadəçilərin məhdudiyyətləri üçün əlçatanlığa diqqət yetirirəm, bunları istifadə edirəm:

    • scope="col" atributu ilə sütun başlıqları (<th>) istifadə etmək.
    • <caption> və ya aria-label atributu ilə cədvəlin başlığını təyin etmək.
    • Kontrastlı rənglər.
    • Klaviatura ilə düzgün naviqasiya.
  5. Performans: Böyük məlumat həcmləri üçün sətir virtualizasiyası və ya səhifələmə istifadə edirəm ki, bütün məlumatları eyni anda yükləməyim və ya çəkməyim.

  6. Kitabxanaların istifadəsi (lazım olarsa): Çətin layihələrdə və ya geniş funksionallıq tələb olunduqda (sıralama, filtr, redaktə) mövcud UI kitabxanalarını (məsələn, DataTables, React Table, Ant Design Table) istifadə edə bilərəm, lakin məqsədyönlü seçim və onların işləmə prinsiplərini anlama ilə.