HTML టేబుల్స్ (table), రోస్, కాలమ్స్, colspan, rowspan & Accessibility గైడ్

🌐 Modern HTML5 (W3C/WHATWG) 🟢 Chapter 8 of 20 📂 Phase 02: లింకులు, లిస్టులు, టేబుల్స్ & మల్టీమీడియా 📅 2026 Edition
📌 Covered in this chapter: టేబుల్ ఆర్కిటెక్చర్ (table, tr, th, td) · thead, tbody, tfoot సెమాంటిక్స్ · caption ట్యాగ్ · colspan & rowspan సెల్ మెర్జింగ్ · Accessibility (scope="col", scope="row") · ఆధునిక CSS స్టైలింగ్ · రెస్పాన్సివ్ మొబైల్ టేబుల్స్ · బిగినర్స్ తప్పులు & క్విజ్

నిజ జీవితంలో సమాచారాన్ని స్పష్టంగా, క్రమపద్ధతిలో చూపించడానికి మనం ఎల్లప్పుడూ పట్టికలను (Tables) ఉపయోగిస్తాం. ఉదాహరణకు: మీ పదో తరగతి మార్కుల మెమో, క్రికెట్ స్కోర్‌కార్డ్, రైల్వే టైమ్‌టేబుల్, లేదా అమెజాన్‌లో రెండు మొబైల్ ఫోన్ల స్పెసిఫికేషన్లను పోల్చే ఫీచర్ టేబుల్ — వీటన్నింటికీ మూలస్తంభం టేబుల్సే!

వెబ్ డెవలప్‌మెంట్‌లో డేటాను వరుసలు (Rows) మరియు నిలువు వరుసలలో (Columns) ఒక గ్రిడ్ రూపంలో క్రమబద్ధీకరించడానికి HTML <table> ఎలిమెంట్ అత్యంత శక్తివంతమైన సాధనం. అయితే టేబుల్స్ నేర్చుకునేటప్పుడు చాలా మంది బిగినర్స్ చేసే అతి పెద్ద పొరపాటు — మొత్తం వెబ్‌సైట్ లేఅవుట్‌ను డిజైన్ చేయడానికి టేబుల్స్‌ను వాడటం (ఇది 1990ల నాటి పాత పద్ధతి)!

ఆధునిక HTML5 ప్రమాణాల ప్రకారం, టేబుల్స్‌ను కేవలం టాబ్యులర్ డేటా (Tabular Data) ప్రదర్శించడానికి మాత్రమే ఉపయోగించాలి. ఈ అధ్యాయంలో మనం టేబుల్ నిర్మాణం, <thead>, <tbody>, <tfoot> సెమాంటిక్స్, గజిబిజిగా ఉండే colspan, rowspan సెల్ మెర్జింగ్ టెక్నిక్స్, స్క్రీన్ రీడర్స్ కోసం Accessibility (scope) సూత్రాలు మరియు మొబైల్ స్క్రీన్‌లలో టేబుల్స్ విరిగిపోకుండా రెస్పాన్సివ్‌గా మార్చే విధానాన్ని సమగ్రంగా నేర్చుకుందాం!

1ఈ Chapter లో మీరు నేర్చుకునే అంశాలు
  • టేబుల్ మౌలిక నిర్మాణం: <table>, <tr> (వరుస), <th> (హెడర్), మరియు <td> (డేటా సెల్) మధ్య సంబంధం.
  • సెమాంటిక్ స్ట్రక్చరింగ్: <thead>, <tbody>, మరియు <tfoot> ఎందుకు వాడాలి? బ్రౌజర్ & ప్రింట్ ప్రయోజనాలు.
  • <caption> ట్యాగ్: టేబుల్‌కు అధికారిక శీర్షికను జోడించే సరైన పద్ధతి.
  • colspan తో అడ్డంగా కలపడం: బహుళ కాలమ్స్‌ను ఒకే సెల్‌గా మెర్జ్ చేసే విధానం.
  • rowspan తో నిలువుగా కలపడం: బహుళ రోస్‌ను ఒకే సెల్‌గా కలిపి నిలువు గ్రిడ్లను తయారు చేయడం.
  • Accessibility & a11y: దృష్టి లోపం ఉన్నవారి కోసం scope="col", scope="row" ప్రాముఖ్యత.
  • ఆధునిక CSS టేబుల్ స్టైలింగ్: border-collapse, జీబ్రా స్ట్రిప్పింగ్ (alternating colors), మరియు హోవర్ ఎఫెక్ట్స్.
  • మొబైల్ రెస్పాన్సివ్ టెక్నిక్స్: చిన్న స్క్రీన్‌లలో టేబుల్స్ కట్ అవ్వకుండా overflow-x కంటైనర్లను నిర్మించడం.
2HTML టేబుల్ అనాటమీ: table, tr, th, td

ఒక సాధారణ HTML టేబుల్ 4 ప్రాథమిక ట్యాగ్‌ల కలయికతో ఏర్పడుతుంది:

  1. <table>: మొత్తం టేబుల్‌ను చుట్టే ప్రధాన కంటైనర్ (Wrapper).
  2. <tr> (Table Row): టేబుల్‌లో ఒక అడ్డ వరుసను (Horizontal Row) సృష్టిస్తుంది. టేబుల్ లోపల డేటా ఎప్పుడూ వరుసల వారీగానే రాయబడుతుంది.
  3. <th> (Table Header): ఆ వరుస లేదా కాలమ్‌కు హెడ్డింగ్ సెల్. బ్రౌజర్లు బై-డిఫాల్ట్‌గా ఇందులో ఉన్న టెక్స్ట్‌ను Bold చేసి, మధ్యలో (Center aligned) ఉంచుతాయి.
  4. <td> (Table Data): అసలైన డేటాను కలిగి ఉండే సాధారణ సెల్ (Normal Data Cell). ఇది ఎడమవైపుకు (Left aligned) ఉంటుంది.
┌───────────────────────────────── <table> ──────────────────────────────────┐ │ │ │ <tr> (Row 1 - Headers) │ │ ┌───────────────────────────────┬───────────────────────────────┐ │ │ │ <th>కోర్సు పేరు</th> │ <th>వ్యవధి (నెలలు)</th> │ │ │ └───────────────────────────────┴───────────────────────────────┘ │ │ │ │ <tr> (Row 2 - Data) │ │ ┌───────────────────────────────┬───────────────────────────────┐ │ │ │ <td>HTML5 & CSS3</td> │ <td>1 నెల</td> │ │ │ └───────────────────────────────┴───────────────────────────────┘ │ │ │ │ <tr> (Row 3 - Data) │ │ ┌───────────────────────────────┬───────────────────────────────┐ │ │ │ <td>JavaScript</td> │ <td>2 నెలలు</td> │ │ │ └───────────────────────────────┴───────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘
HTML — బేసిక్ టేబుల్ ఉదాహరణ
<!DOCTYPE html>
<html lang="te">
<head>
  <meta charset="UTF-8">
  <title>నా మొదటి టేబుల్</title>
  <style>
    table, th, td {
      border: 1px solid #cbd5e1;
      border-collapse: collapse; /* రెండు బోర్డర్ల మధ్య ఖాళీని తొలగిస్తుంది */
      padding: 10px 14px;
    }
    th {
      background-color: #f1f5f9;
      color: #0f172a;
    }
  </style>
</head>
<body>

  <table>
    <tr>
      <th>విద్యార్థి పేరు</th>
      <th>సబ్జెక్ట్</th>
      <th>మార్కులు</th>
    </tr>
    <tr>
      <td>రాహుల్</td>
      <td>వెబ్ టెక్నాలజీస్</td>
      <td>95</td>
    </tr>
    <tr>
      <td>స్నేహ</td>
      <td>వెబ్ టెక్నాలజీస్</td>
      <td>98</td>
    </tr>
  </table>

</body>
</html>
3సెమాంటిక్ స్ట్రక్చరింగ్: thead, tbody, మరియు tfoot

పెద్ద పెద్ద వ్యాపార వెబ్‌సైట్లు లేదా డేటాబేస్ రిపోర్టులలో వందల కొద్దీ వరుసల సమాచారం ఉంటుంది. అలాంటి సమయంలో ఒక ప్రొఫెషనల్ డెవలపర్ టేబుల్‌ను మూడు స్పష్టమైన సెమాంటిక్ బ్లాక్‌లుగా విభజిస్తారు:

  • <thead> (Table Head): టేబుల్‌లోని హెడ్డింగ్స్ వరుసలను మాత్రమే ఉంచే ప్రాంతం.
  • <tbody> (Table Body): అసలైన డేటా వరుసలను కలిగి ఉండే ప్రధాన శరీరం. ఒకే టేబుల్‌లో అవసరమైతే బహుళ <tbody> విభాగాలను కూడా ఉపయోగించవచ్చు!
  • <tfoot> (Table Foot): టేబుల్ చివర సారాంశం (Summary), మొత్తం టోటల్స్ (Totals), లేదా సగటు (Averages) చూపించే విభాగం.
💡
ప్రింటింగ్ మ్యాజిక్: ఒక పెద్ద వెబ్‌సైట్ రిపోర్టును ప్రింట్ (Ctrl + P) చేసేటప్పుడు, ఆ రిపోర్ట్ 5 పేజీల పాటు సాగితే — <thead> మరియు <tfoot> ప్రతి పేజీ పైన మరియు క్రింద ఆటోమేటిక్‌గా పునరావృతం అవుతాయి! ఇది సాధారణ యూజర్లకు చాలా సౌకర్యవంతంగా ఉంటుంది.
HTML — thead, tbody, tfoot తో సూపర్ మార్కెట్ బిల్లింగ్ టేబుల్
<table style="width: 100%; border-collapse: collapse;">
  <thead style="background-color: #10b981; color: white;">
    <tr>
      <th style="padding: 10px; text-align: left;">వస్తువు</th>
      <th style="padding: 10px; text-align: center;">పరిమాణం (Qty)</th>
      <th style="padding: 10px; text-align: right;">ధర (₹)</th>
    </tr>
  </thead>

  <tbody style="background-color: #f8fafc;">
    <tr>
      <td style="padding: 8px 10px; border-bottom: 1px solid #e2e8f0;">లాప్‌టాప్ బ్యాగ్</td>
      <td style="padding: 8px 10px; text-align: center; border-bottom: 1px solid #e2e8f0;">1</td>
      <td style="padding: 8px 10px; text-align: right; border-bottom: 1px solid #e2e8f0;">1,200.00</td>
    </tr>
    <tr>
      <td style="padding: 8px 10px; border-bottom: 1px solid #e2e8f0;">వైర్‌లెస్ మౌస్</td>
      <td style="padding: 8px 10px; text-align: center; border-bottom: 1px solid #e2e8f0;">2</td>
      <td style="padding: 8px 10px; text-align: right; border-bottom: 1px solid #e2e8f0;">900.00</td>
    </tr>
  </tbody>

  <tfoot style="background-color: #e2e8f0; font-weight: bold;">
    <tr>
      <td style="padding: 10px;">మొత్తం చెల్లించవలసినది</td>
      <td style="padding: 10px; text-align: center;">3 వస్తువులు</td>
      <td style="padding: 10px; text-align: right; color: #059669;">₹ 2,100.00</td>
    </tr>
  </tfoot>
</table>
4టేబుల్ శీర్షిక: <caption> ట్యాగ్ & ప్రాముఖ్యత

టేబుల్ ఏ విషయాన్ని గురించి తెలియజేస్తుందో ఒక స్పష్టమైన శీర్షికను ఇవ్వడానికి <caption> ట్యాగ్‌ను ఉపయోగిస్తారు. దీనిని ఎల్లప్పుడూ <table> ట్యాగ్ లోపల మొట్టమొదటి చైల్డ్ ఎలిమెంట్‌గా మాత్రమే రాయాలి!

<table> <caption>2026 విద్యా సంవత్సరం సెమిస్టర్ ఫలితాల పట్టిక</caption> <!-- 1st Element! --> <thead> ... </thead> <tbody> ... </tbody> </table>

<caption> వాడటం వల్ల లాభాలు:

  • Accessibility (స్క్రీన్ రీడర్స్): అంధులు వెబ్‌సైట్ చూసేటప్పుడు స్క్రీన్ రీడర్ మొదట ఈ క్యాప్షన్‌ను చదివి వినిపిస్తుంది. దీనివల్ల వారు ఆ టేబుల్‌ను పూర్తిగా వినాలో లేక స్కిప్ చేయాలో వెంటనే నిర్ణయించుకోగలరు.
  • SEO (సెర్చ్ ఇంజిన్లు): గూగుల్ బోట్స్ టేబుల్‌లోని కంటెంట్‌ను అర్థం చేసుకోవడానికి క్యాప్షన్‌ను ప్రామాణికంగా తీసుకుంటాయి.
  • CSS తో సులభంగా స్టైలింగ్: caption-side: bottom; అని రాయడం ద్వారా క్యాప్షన్‌ను టేబుల్ కింద కూడా ప్రదర్శించవచ్చు!
5సెల్ మెర్జింగ్ 1: colspan (కాలమ్స్ కలపడం)

మైక్రోసాఫ్ట్ ఎక్సెల్‌లో రెండు లేదా అంతకంటే ఎక్కువ పక్కపక్క సెల్స్‌ను కలిపి ఒకే పెద్ద సెల్‌గా మార్చే "Merge Cells" ఫీచర్‌ను మీరు చూసే ఉంటారు. HTML లో అడ్డంగా ఉండే కాలమ్స్‌ను కలపడానికి colspan (Column Span) ఆట్రిబ్యూట్‌ను ఉపయోగిస్తాం.

ఉదాహరణకు: ఒక సెల్ రెండు కాలమ్స్ స్థలాన్ని ఆక్రమించాలనుకుంటే colspan="2" అని రాస్తాం. ఒక సెల్ 3 కాలమ్స్ ఆక్రమిస్తే colspan="3" అని రాస్తాం.

సాధారణ వరుస (2 Cells): ┌───────────────────────┬───────────────────────┐ │ Col 1 │ Col 2 │ └───────────────────────┴───────────────────────┘ colspan="2" వర్తించిన వరుస (1 Big Cell): ┌───────────────────────────────────────────────┐ │ Col 1 & Col 2 Merged Together │ └───────────────────────────────────────────────┘
⚠️
గోల్డెన్ రూల్ — కాలమ్స్ లెక్క సరిపోవాలి!
మీ టేబుల్‌లో సాధారణంగా 3 కాలమ్స్ ఉంటే, మీరు ఒక వరుసలో <td colspan="2"> రాసినప్పుడు, ఆ వరుసలో మిగిలినది కేవలం 1 <td> మాత్రమే అయి ఉండాలి (2 + 1 = 3)! మీరు పొరపాటున పక్కన ఇంకో 2 సెల్స్ రాస్తే టేబుల్ అంచులు విరిగిపోయి లేఅవుట్ పాడవుతుంది.
HTML — colspan ఉదాహరణ: ఫోన్ నంబర్లు
<table border="1" style="border-collapse: collapse; width: 100%; text-align: center;">
  <tr>
    <th>ఉద్యోగి పేరు</th>
    <th colspan="2">సంప్రదించవలసిన ఫోన్ నంబర్లు</th> <!-- 2 కాలమ్స్ కలిసాయి -->
  </tr>
  <tr>
    <td>సురేష్ కుమార్</td>
    <td>9876543210 (వ్యక్తిగత)</td>
    <td>040-123456 (ఆఫీస్)</td>
  </tr>
</table>
6సెల్ మెర్జింగ్ 2: rowspan (రోస్ కలపడం)

నిలువుగా ఉండే రెండు లేదా అంతకంటే ఎక్కువ వరుసలలోని సెల్స్‌ను కలపడానికి rowspan (Row Span) ఆట్రిబ్యూట్‌ను ఉపయోగిస్తాం. ఉదాహరణకు: ఒకే వ్యక్తికి రెండు డిగ్రీలు ఉన్నప్పుడు లేదా ఒకే డిపార్ట్‌మెంట్‌లో ఇద్దరు మేనేజర్లు పనిచేస్తున్నప్పుడు డిపార్ట్‌మెంట్ పేరును రెండు వరుసల పాటు నిలువుగా విస్తరించడానికి ఇది ఉపయోగపడుతుంది.

rowspan="2" మెకానిజం: ┌───────────────────────┬───────────────────────┐ │ │ మొదటి అంశం │ │ నిలువుగా కలిసిన ├───────────────────────┤ │ సెల్ (rowspan="2") │ రెండవ అంశం │ └───────────────────────┴───────────────────────┘

rowspan రాసేటప్పుడు బిగినర్స్ గుర్తుంచుకోవాల్సిన కిటుకు:

మొదటి వరుసలో <td rowspan="2"> ఇచ్చినప్పుడు, ఆ సెల్ క్రింది వరుసలోని మొదటి స్థలాన్ని కూడా ఆక్రమించుకుంటుంది. కాబట్టి క్రింది వరుసలో మొదటి <td> ని రాయకూడదు! కేవలం తర్వాతి సెల్స్‌ను మాత్రమే రాయాలి.

HTML — rowspan ఉదాహరణ: డిపార్ట్‌మెంట్ ఉద్యోగులు
<table border="1" style="border-collapse: collapse; width: 100%; text-align: left;">
  <tr style="background:#f1f5f9;">
    <th>విభాగం (Department)</th>
    <th>ఉద్యోగి పేరు</th>
    <th>హోదా (Designation)</th>
  </tr>
  <tr>
    <!-- ఈ సెల్ క్రింది వరుసను కూడా కలిపేసుకుంటుంది -->
    <td rowspan="2" style="background:#f8fafc; font-weight:bold;">ఇంజనీరింగ్ (Engineering)</td>
    <td>ఆనంద్ రావు</td>
    <td>Tech Lead</td>
  </tr>
  <tr>
    <!-- ఇక్కడ డిపార్ట్‌మెంట్ td రాయకూడదు! నేరుగా పేరుతో మొదలుపెట్టాలి -->
    <td>భవ్య రెడ్డి</td>
    <td>Frontend Developer</td>
  </tr>
</table>
7అడ్వాన్స్‌డ్ మెర్జింగ్: colspan & rowspan కాంబినేషన్

రియల్ వరల్డ్ ప్రాజెక్టులలో మనం తరచుగా టైమ్‌టేబుల్స్, మార్కుల లిస్ట్‌లు లేదా సంక్లిష్టమైన ఇన్‌వాయిస్‌లు తయారు చేస్తుంటాం. అక్కడ అడ్డంగా మరియు నిలువుగా రెండింటినీ ఒకేసారి మెర్జ్ చేయాల్సి వస్తుంది. క్రింది లైవ్ ఉదాహరణను పరిశీలించండి:

HTML — కాలేజీ టైమ్‌టేబుల్ (colspan + rowspan కాంబో)
<table border="1" style="border-collapse: collapse; width: 100%; text-align: center;">
  <caption style="font-weight: bold; margin-bottom: 8px;">కంప్యూటర్ సైన్స్ 3వ సంవత్సరం టైమ్‌టేబుల్</caption>
  <thead style="background: #10b981; color: white;">
    <tr>
      <th>రోజు</th>
      <th>పీరియడ్ 1 (9-10)</th>
      <th>పీరియడ్ 2 (10-11)</th>
      <th>విరామం (11-11:30)</th>
      <th>పీరియడ్ 3 (11:30-1)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="font-weight: bold;">సోమవారం</td>
      <td>HTML5</td>
      <td>CSS3</td>
      <!-- rowspan="2" తో 2 రోజులకు ఒకే బ్రేక్ బాక్స్ -->
      <td rowspan="2" style="background: #fef08a; font-weight: bold;">లంచ్ & టీ బ్రేక్</td>
      <td>జావా ల్యాబ్</td>
    </tr>
    <tr>
      <td style="font-weight: bold;">మంగళవారం</td>
      <!-- colspan="2" తో 2 పీరియడ్లు ల్యాబ్ కోసం మెర్జ్ -->
      <td colspan="2" style="background: #e0f2fe;">పైథాన్ ఫుల్ ప్రాజెక్ట్ ల్యాబ్</td>
      <!-- లంచ్ కాలమ్ ఇక్కడ రాయము (పైన rowspan తీసుకుంది) -->
      <td>డాటాబేసెస్</td>
    </tr>
  </tbody>
</table>
8Accessibility & a11y: scope="col" మరియు scope="row"

కంటి చూపు ఉన్న మనం ఒక టేబుల్ వైపు చూడగానే — ఏది రో, ఏది కాలమ్, ఏ విలువ ఏ హెడ్డింగ్‌కు సంబంధించిందో సులభంగా గ్రహించగలం. కానీ ఒక అంధుడు లేదా దృష్టి లోపం ఉన్న యూజర్ స్క్రీన్ రీడర్ సాఫ్ట్‌వేర్ (NVDA, JAWS, VoiceOver) వాడుతున్నప్పుడు టేబుల్‌ను అర్థం చేసుకోవడం చాలా కష్టం!

స్క్రీన్ రీడర్ ప్రతి సెల్‌లోని డేటాను చదివేటప్పుడు దానికి సంబంధించిన హెడ్డింగ్‌ను కూడా బిగ్గరగా వినిపించాలంటే మనం <th> ట్యాగ్‌కు scope ఆట్రిబ్యూట్‌ను ఇవ్వాలి:

  • <th scope="col">: ఈ హెడ్డింగ్ తన క్రింద ఉన్న పూర్తి నిలువు కాలమ్‌కు ప్రాతినిధ్యం వహిస్తుందని బ్రౌజర్‌కు స్పష్టం చేస్తుంది.
  • <th scope="row">: ఈ హెడ్డింగ్ తన కుడివైపున ఉన్న పూర్తి అడ్డ వరుసకు ప్రాతినిధ్యం వహిస్తుందని స్పష్టం చేస్తుంది.
  • <th scope="colgroup">: గ్రూప్ చేసిన బహుళ కాలమ్స్‌కు హెడర్‌గా పనిచేస్తుంది.
  • <th scope="rowgroup">: గ్రూప్ చేసిన బహుళ రోస్‌కు హెడర్‌గా పనిచేస్తుంది.
HTML — 100% Accessible Table with Scope
<table border="1" style="border-collapse: collapse; width: 100%;">
  <caption>మొబైల్ ఫోన్ల సాంకేతిక వివరాలు</caption>
  <tr>
    <td></td> <!-- ఖాళీ కార్నర్ సెల్ -->
    <th scope="col">iPhone 16</th>
    <th scope="col">Samsung S25</th>
  </tr>
  <tr>
    <th scope="row">ర్యామ్ (RAM)</th>
    <td>8 GB</td>
    <td>12 GB</td>
  </tr>
  <tr>
    <th scope="row">బ్యాటరీ</th>
    <td>3,561 mAh</td>
    <td>4,000 mAh</td>
  </tr>
</table>
9CSS తో ఆధునిక స్టైలింగ్ (Borders, Zebra, Hover)

డిఫాల్ట్ HTML టేబుల్స్ చూడటానికి 1995 నాటి పాత శైలిలో చికాకుగా ఉంటాయి. కానీ కొన్ని సింపుల్ CSS నియమాలతో మనం వాటిని అత్యంత ఆకర్షణీయంగా, మోడ్రన్ సాఫ్ట్‌వేర్ డ్యాష్‌బోర్డ్‌ల లాగా మార్చవచ్చు:

CSS — ప్రొఫెషనల్ టేబుల్ స్టైల్స్
/* 1. రెండు గీతల బదులు ఒకే సన్నటి బోర్డర్ కోసం */
table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  margin: 16px 0;
}

/* 2. సెల్స్‌కు మంచి గాలి స్థలం (Padding) */
th, td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #e2e8f0;
}

/* 3. హెడర్‌కు ఎమరాల్డ్ గ్రీన్ లేదా డార్క్ లుక్ */
th {
  background-color: #059669;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
}

/* 4. జీబ్రా స్ట్రిప్పింగ్: ఒక లైన్ లైట్ కలర్, ఒక లైన్ వైట్ కలర్ */
tbody tr:nth-child(even) {
  background-color: #f8fafc;
}

/* 5. మౌస్ పాయింటర్ పెట్టినప్పుడు మెరిసే ఎఫెక్ట్ (Hover) */
tbody tr:hover {
  background-color: #ecfdf5;
  transition: background-color 0.2s ease;
}
10రెస్పాన్సివ్ టేబుల్స్: మొబైల్ స్క్రీన్‌లలో సొల్యూషన్

వెబ్ డెవలప్‌మెంట్‌లో అత్యంత సాధారణ సమస్య: మొబైల్ స్క్రీన్‌లలో టేబుల్స్ పేజీ సరిహద్దులను దాటి బయటకు వెళ్ళిపోవడం! మొబైల్ స్క్రీన్ వెడల్పు 360px నుండి 400px మాత్రమే ఉంటుంది. కానీ 6 కాలమ్స్ ఉన్న టేబుల్‌కు కనీసం 700px స్థలం అవసరం.

దీనికి అత్యంత సులభమైన మరియు పరిశ్రమలో ప్రామాణికమైన పరిష్కారం — టేబుల్‌ను ఒక <div> లో పెట్టి దానికి overflow-x: auto; ఇవ్వడం:

HTML & CSS — హారిజాంటల్ స్క్రోలింగ్ రెస్పాన్సివ్ టేబుల్
<!-- టేబుల్ చుట్టూ రెస్పాన్సివ్ ర్యాపర్ డివ్ -->
<div style="overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 8px; border: 1px solid #e2e8f0;">
  <table style="min-width: 600px; width: 100%; border-collapse: collapse;">
    <thead style="background: #1e293b; color: white;">
      <tr>
        <th style="padding: 10px;">ID</th>
        <th style="padding: 10px;">ఉత్పత్తి పేరు</th>
        <th style="padding: 10px;">కేటగిరీ</th>
        <th style="padding: 10px;">స్టాక్</th>
        <th style="padding: 10px;">ధర</th>
        <th style="padding: 10px;">యాక్షన్</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="padding: 10px; border-bottom: 1px solid #e2e8f0;">#101</td>
        <td style="padding: 10px; border-bottom: 1px solid #e2e8f0;">మెకానికల్ కీబోర్డ్</td>
        <td style="padding: 10px; border-bottom: 1px solid #e2e8f0;">ఎలక్ట్రానిక్స్</td>
        <td style="padding: 10px; border-bottom: 1px solid #e2e8f0;">45 యూనిట్లు</td>
        <td style="padding: 10px; border-bottom: 1px solid #e2e8f0;">₹ 3,499</td>
        <td style="padding: 10px; border-bottom: 1px solid #e2e8f0;"><button>ఆర్డర్</button></td>
      </tr>
    </tbody>
  </table>
</div>

💡 ఈ టెక్నిక్ వల్ల మొబైల్ యూజర్లు తమ వేలితో టేబుల్‌ను ఎడమకు కుడికి స్మూత్‌గా స్క్రోల్ చేసి మొత్తం సమాచారాన్ని చూడగలరు. పేజీ లేఅవుట్ కొద్దిగా కూడా దెబ్బతినదు!

11బిగినర్స్ చేసే టాప్ 5 పొరపాట్లు & పరిష్కారాలు
1. తప్పు: వెబ్‌సైట్ లేఅవుట్ డిజైనింగ్ కోసం టేబుల్స్ వాడటం

హెడర్, సైడ్‌బార్, ఫుటర్ డిజైన్ చేయడానికి <table> వాడటం ఘోరమైన తప్పు. దీనివల్ల వెబ్‌సైట్ మొబైల్‌లో అస్సలు రెస్పాన్సివ్ అవ్వదు మరియు SEO తీవ్రంగా దెబ్బతింటుంది. లేఅవుట్స్ కోసం ఎల్లప్పుడూ CSS Flexbox & CSS Grid మాత్రమే వాడాలి!

2. తప్పు: colspan లేదా rowspan ఇచ్చినప్పుడు సెల్స్ లెక్క సరిపోకపోవడం

పై వరుసలో 3 సెల్స్ ఉండి, క్రింది వరుసలో colspan="2" ఇచ్చిన తర్వాత కూడా మళ్ళీ 2 సెల్స్ రాయడం. దీనివల్ల టేబుల్ అంచులు అస్తవ్యస్తంగా బయటకు చొచ్చుకువస్తాయి. ఎల్లప్పుడూ ప్రతి వరుసలోని స్థలాల మొత్తం సమానంగా ఉండాలి.

3. తప్పు: <th> వాడకుండా సాధారణ <td> లో <b> ట్యాగ్ రాయడం

<td><b>పేరు</b></td> అని రాయడం వల్ల అది హెడ్డింగ్‌గా కనిపించినప్పటికీ, సెమాంటిక్‌గా హెడర్ అవ్వదు. స్క్రీన్ రీడర్స్ దానిని హెడ్డింగ్‌గా గుర్తించలేవు. ఎల్లప్పుడూ హెడర్లకు <th> మాత్రమే వాడాలి.

4. తప్పు: border-collapse: collapse ఇవ్వడం మర్చిపోవడం

CSS లో border-collapse: collapse; ఇవ్వకపోతే టేబుల్ ప్రతి సెల్ చుట్టూ రెండు రెండు గీతలు వచ్చి చాలా పాతకాలపు డిజైన్‌లా కనిపిస్తుంది.

5. తప్పు: <caption> ని <tr> లోపల రాయడం

<caption> అనేది టేబుల్ యొక్క ప్రత్యక్ష చైల్డ్ (Direct Child). దానిని ఎప్పుడూ ఏ వరుస లోపలా పెట్టకూడదు; టేబుల్ ప్రారంభమైన వెంటనే మొట్టమొదట రాయాలి.

12ఇంటరాక్టివ్ సెల్ఫ్-టెస్ట్ క్విజ్ (Interactive Quiz)

ఈ చాప్టర్‌లో మీరు నేర్చుకున్న విషయాలను స్వయంగా పరీక్షించుకోండి. ప్రతి ప్రశ్నను చదివి సమాధానం ఆలోచించిన తర్వాత "సమాధానం చూడండి" పై క్లిక్ చేయండి:

❓ ప్రశ్న 1: HTML టేబుల్‌లో ఒక సెల్ 3 కాలమ్స్ స్థలాన్ని తీసుకోవాలంటే ఏ ఆట్రిబ్యూట్ వాడాలి?
సమాధానం: colspan="3". ఇది అడ్డంగా ఉన్న 3 కాలమ్స్‌ను కలిపి ఒకే సెల్‌గా మారుస్తుంది.
❓ ప్రశ్న 2: <th> మరియు <td> మధ్య ప్రధాన తేడా ఏమిటి?
సమాధానం: <th> అనేది Table Header సెల్. ఇందులో ఉండే టెక్స్ట్ బోల్డ్‌గా మరియు సెంటర్‌లో ఉంటుంది. <td> అనేది సాధారణ Table Data సెల్. ఇందులో టెక్స్ట్ సాధారణంగా మరియు లెఫ్ట్ అలైన్ అయి ఉంటుంది.
❓ ప్రశ్న 3: టేబుల్‌ను ప్రింట్ చేసేటప్పుడు ప్రతి పేజీలోనూ హెడర్లు రిపీట్ అవ్వాలంటే ఏ ఎలిమెంట్ వాడాలి?
సమాధానం: <thead>. మల్టీ-పేజ్ ప్రింటింగ్‌లో బ్రౌజర్లు మరియు ప్రింటర్లు థెడ్ విభాగంలోని హెడ్డింగ్స్ వరుసను ప్రతి పేజీ పైభాగంలో ఆటోమేటిక్‌గా పునరావృతం చేస్తాయి.
❓ ప్రశ్న 4: Accessibility కోసం <th> కి ఇచ్చే scope="col" యొక్క ఉపయోగం ఏమిటి?
సమాధానం: ఆ హెడ్డింగ్ తన క్రింద ఉన్న పూర్తి కాలమ్ డేటాకు సంబంధించినదని స్క్రీన్ రీడర్‌లకు స్పష్టం చేస్తుంది. దీనివల్ల దృష్టి లోపం ఉన్నవారికి సెల్ విలువతో పాటు దాని హెడ్డింగ్ పేరు కూడా వినిపిస్తుంది.
❓ ప్రశ్న 5: ఆధునిక వెబ్ డెవలప్‌మెంట్‌లో వెబ్‌సైట్ లేఅవుట్ (హెడర్, సైడ్‌బార్, ఫుటర్) కోసం <table> ఎందుకు వాడకూడదు?
సమాధానం: టేబుల్స్ రిజిడ్‌గా (కఠినంగా) ఉంటాయి, మొబైల్ స్క్రీన్‌లకు అనుగుణంగా ఫ్లెక్సిబుల్‌గా మారలేవు (Not Responsive). అంతేకాకుండా స్క్రీన్ రీడర్స్ మరియు గూగుల్ బోట్స్‌కు పేజీ కంటెంట్ అర్థం కాదు. లేఅవుట్స్ కోసం CSS Flexbox మరియు Grid మాత్రమే వాడాలి.
13మీరే స్వయంగా Try చేయండి & సారాంశం (Quick Summary)
🚀 టేబుల్స్, colspan మరియు rowspan కోడ్‌ను లైవ్‌గా రన్ చేసి చూడండి

పైన ఇచ్చిన స్టూడెంట్ మార్కుల పట్టిక, సూపర్ మార్కెట్ బిల్లింగ్ టేబుల్, మరియు కాలేజీ టైమ్‌టేబుల్ కోడ్‌ను మన ఆన్‌లైన్ ఎడిటర్‌లో ఓపెన్ చేసి మీ స్వంత వరుసలు, కాలమ్స్ జోడించి వెంటనే లైవ్ ఫలితం చూడండి!

👉 Our Compiler లో HTML Editor try చేయండి

📌 క్విక్ సారాంశం (Key Takeaways):

  • టేబుల్ నిర్మాణం: <table> లోపల <tr> వరుసలు, అందులో <th> లేదా <td> సెల్స్ ఉంటాయి.
  • సెమాంటిక్ గ్రూప్స్: <thead> హెడర్లకు, <tbody> డేటాకు, <tfoot> సారాంశం/టోటల్స్‌కు వాడాలి.
  • శీర్షిక: టేబుల్ మొదట్లోనే <caption> ఇవ్వడం స్క్రీన్ రీడర్స్ మరియు SEO కి చాలా ముఖ్యం.
  • సెల్ మెర్జింగ్: అడ్డంగా కలపడానికి colspan, నిలువుగా కలపడానికి rowspan.
  • యాక్సెసిబిలిటీ: స్క్రీన్ రీడర్స్ కోసం హెడర్లకు scope="col" లేదా scope="row" ఉపయోగించాలి.
  • మొబైల్ రెస్పాన్సివ్: టేబుల్‌ను overflow-x: auto ఉన్న కంటైనర్‌లో ఉంచాలి.
Phase 02 విజయవంతంగా పూర్తయింది! 🎉
తర్వాతి అధ్యాయంలో మనం Phase 03: మోడరన్ సెమాంటిక్ HTML5 & పేజ్ ఆర్కిటెక్చర్ లోకి అడుగుపెడదాం! Chapter 9 లో సెమాంటిక్ ఎలిమెంట్స్: header, nav, main, footer, article, section గురించి అత్యంత ఆసక్తికరంగా నేర్చుకుందాం!
← Prev: 7. ఇమేజెస్ & రెస్పాన్సివ్ పిక్చర్స్ Next: 9. సెమాంటిక్ HTML5 ఎలిమెంట్స్ →
OC
Written by Our Compiler Technical Editorial Team
Reviewed for accuracy & tested across modern Web Standards / W3C & WHATWG · 2026 Academic Edition