{"id":447,"date":"2026-01-14T06:01:26","date_gmt":"2026-01-14T06:01:26","guid":{"rendered":"https:\/\/i-cte.org\/robot\/?p=447"},"modified":"2026-01-14T06:01:26","modified_gmt":"2026-01-14T06:01:26","slug":"ielts-reading-overview","status":"publish","type":"post","link":"https:\/\/i-cte.org\/robot\/ielts-reading-overview\/","title":{"rendered":"IELTs &#8211; Reading &#8211; Overview"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>IELTS Practice Overview \u2013 ICTE Robot<\/title>\n  <style>\n    * { box-sizing: border-box; }\n\n    body{\n      font-family: Arial, sans-serif;\n      background:#f4f6f8;\n      margin:0;\n      color:#222;\n      line-height:1.55;\n    }\n\n    \/* \u2705 TOP NAV MENU (GREEN, STICKY, SCROLLABLE) *\/\n    .icte-menu{\n      width:100%;\n      background:#28a745;\n      padding:10px 12px;\n      text-align:center;\n      box-shadow:0 2px 6px rgba(0,0,0,0.12);\n      overflow-x:auto;\n      white-space:nowrap;\n      position:sticky;\n      top:0;\n      z-index:999;\n    }\n    .icte-menu a{\n      display:inline-block;\n      color:#fff;\n      text-decoration:none;\n      font-weight:900;\n      margin:0 8px;\n      padding:8px 10px;\n      border-radius:10px;\n      transition:background .2s ease;\n    }\n    .icte-menu a:hover{ background:rgba(255,255,255,0.18); }\n\n    .page-pad{ padding: 16px; }\n    .container{\n      max-width:1100px;\n      margin:0 auto;\n      background:#fff;\n      border-radius:14px;\n      padding:18px;\n      box-shadow:0 8px 20px rgba(0,0,0,0.08);\n    }\n\n    h1,h2,h3{ margin:0 0 10px; color:#1f7a35; }\n    .sub{ margin:0 0 14px; color:#444; }\n\n    \/* \u2705 HERO *\/\n    .hero{\n      display:grid;\n      grid-template-columns: 1.2fr 0.8fr;\n      gap:14px;\n      align-items:stretch;\n      margin-bottom:14px;\n    }\n    .hero-card{\n      border:1px solid #e5e7eb;\n      border-radius:14px;\n      padding:16px;\n      background:#fff;\n      box-shadow:0 2px 10px rgba(0,0,0,0.05);\n    }\n    .hero-badge{\n      display:inline-block;\n      background:#e7f7eb;\n      color:#1f7a35;\n      border:1px solid #bfe9c9;\n      padding:6px 12px;\n      border-radius:999px;\n      font-weight:900;\n      font-size:12px;\n      margin-bottom:10px;\n    }\n    .hero-image{\n      border-radius:14px;\n      overflow:hidden;\n      border:1px solid #e5e7eb;\n      background:#f8fafc;\n      box-shadow:0 2px 10px rgba(0,0,0,0.05);\n      display:flex;\n      align-items:center;\n      justify-content:center;\n      min-height:160px;\n    }\n    .hero-image img{\n      width:100%;\n      height:100%;\n      object-fit:cover;\n      display:block;\n    }\n\n    \/* \u2705 QUICK LINKS BAR *\/\n    .quick{\n      margin-top:14px;\n      padding:12px;\n      border-radius:14px;\n      background:#f8fbff;\n      border:1px solid #dbeafe;\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      align-items:center;\n      justify-content:space-between;\n    }\n    .quick .left{ font-weight:900; color:#0b5ed7; }\n    .quick .links{ display:flex; flex-wrap:wrap; gap:8px; }\n    .quick .links a{\n      display:inline-block;\n      padding:8px 10px;\n      border-radius:10px;\n      background:#0b5ed7;\n      color:#fff;\n      text-decoration:none;\n      font-weight:900;\n      font-size:13px;\n    }\n    .quick .links a:hover{ opacity:0.92; }\n\n    \/* \u2705 STRATEGIES BOX (GREEN LINE STYLE) *\/\n    #reading-strategies{ scroll-margin-top: 80px; }\n    .strategy-box{\n      max-width:1100px;\n      margin: 12px auto 14px;\n      background:#f4fff6;\n      border:2px solid #28a745;\n      border-left:8px solid #28a745;\n      border-radius:12px;\n      padding:14px 16px;\n      box-shadow:0 2px 8px rgba(0,0,0,0.06);\n    }\n    .strategy-box details summary{\n      cursor:pointer;\n      font-weight:900;\n      color:#1f7a35;\n      list-style:none;\n      outline:none;\n      user-select:none;\n    }\n    .strategy-box details summary::-webkit-details-marker{ display:none; }\n    .strategy-box details summary:before{\n      content:\"\u25b6 \";\n      display:inline-block;\n      margin-right:6px;\n      transform-origin:center;\n    }\n    .strategy-box details[open] summary:before{ content:\"\u25bc \"; }\n\n    .strategy-actions{\n      display:flex;\n      gap:10px;\n      flex-wrap:wrap;\n      margin:10px 0 0;\n    }\n\n    .btn{\n      appearance:none;\n      border:0;\n      border-radius:10px;\n      padding:10px 12px;\n      font-weight:900;\n      cursor:pointer;\n    }\n    .btn-green{ background:#28a745; color:#fff; }\n    .btn-blue{ background:#007bff; color:#fff; }\n    .btn-gray{ background:#e9ecef; color:#333; }\n    .btn-red{ background:#dc3545; color:#fff; }\n\n    .strategy-list{ margin:10px 0 0; padding-left:18px; }\n    .strategy-list li{ margin:8px 0; }\n    .strategy-list ul{ margin:6px 0 0; padding-left:18px; }\n\n    \/* \u2705 OVERVIEW CARDS *\/\n    .section-title{\n      display:flex;\n      align-items:baseline;\n      justify-content:space-between;\n      gap:10px;\n      margin-top: 6px;\n    }\n    .muted{ color:#555; font-size:14px; margin:0; }\n\n    .cards{\n      display:grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap:14px;\n      margin-top:12px;\n    }\n    @media (max-width: 980px){\n      .hero{ grid-template-columns: 1fr; }\n      .cards{ grid-template-columns: 1fr; }\n      .grid{ grid-template-columns: 1fr !important; }\n    }\n\n    .card{\n      border:1px solid #e5e7eb;\n      border-radius:14px;\n      padding:14px;\n      background:#fff;\n      box-shadow:0 2px 10px rgba(0,0,0,0.05);\n      display:flex;\n      flex-direction:column;\n      gap:10px;\n      min-height: 170px;\n    }\n    .card .tag{\n      display:inline-block;\n      width:max-content;\n      font-size:12px;\n      font-weight:900;\n      padding:5px 10px;\n      border-radius:999px;\n      border:1px solid #bfe9c9;\n      background:#e7f7eb;\n      color:#1f7a35;\n    }\n    .card h3{ margin:0; font-size:18px; color:#0f5132; }\n    .card p{ margin:0; color:#444; font-size:14px; }\n    .card a{\n      text-decoration:none;\n      font-weight:900;\n      color:#fff;\n      background:#28a745;\n      padding:10px 12px;\n      border-radius:12px;\n      display:inline-block;\n      width:max-content;\n      margin-top:auto;\n    }\n    .card a:hover{ opacity:0.92; }\n\n    \/* \u2705 DIVIDER *\/\n    .divider{\n      margin:18px 0;\n      border:0;\n      height:1px;\n      background:#e5e7eb;\n    }\n\n    \/* \u2705 IELTS Reading Practice section styles (from your practice page) *\/\n    .grid{\n      display:grid;\n      grid-template-columns: 1.2fr 1fr;\n      gap:14px;\n      margin-top:12px;\n    }\n    .panel{\n      border:1px solid #e5e7eb;\n      border-radius:12px;\n      padding:14px;\n      background:#fff;\n    }\n    .panel-title{\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:10px;\n      margin-bottom:10px;\n    }\n    .pill{\n      display:inline-block;\n      background:#e7f7eb;\n      color:#1f7a35;\n      border:1px solid #bfe9c9;\n      padding:4px 10px;\n      border-radius:999px;\n      font-weight:900;\n      font-size:12px;\n    }\n    .toolbar{\n      display:flex;\n      gap:10px;\n      flex-wrap:wrap;\n      margin:10px 0 0;\n    }\n    .timer{\n      font-weight:900;\n      font-size:14px;\n      color:#0f5132;\n      background:#d1e7dd;\n      border:1px solid #badbcc;\n      padding:6px 10px;\n      border-radius:10px;\n      display:inline-block;\n    }\n    .passage{\n      background:#fbfbff;\n      border:1px solid #e5e7ff;\n      border-radius:10px;\n      padding:12px;\n      max-height: 560px;\n      overflow:auto;\n    }\n    .passage p{ margin:0 0 10px; }\n    .passage .para-label{\n      font-weight:900;\n      color:#2b2f6b;\n      margin-right:6px;\n    }\n\n    .q{\n      border-top:1px dashed #e5e7eb;\n      padding-top:12px;\n      margin-top:12px;\n    }\n    .q:first-child{ border-top:0; padding-top:0; margin-top:0; }\n    .q h4{ margin:0 0 8px; color:#0b5ed7; }\n    .opt{ margin:6px 0; }\n    .inline{\n      display:flex;\n      gap:10px;\n      align-items:center;\n      flex-wrap:wrap;\n      margin:6px 0;\n    }\n    input[type=\"text\"], select{\n      padding:10px 10px;\n      border:1px solid #d1d5db;\n      border-radius:10px;\n      min-width: 220px;\n      font-weight:700;\n    }\n    .small-note{ font-size:12px; color:#666; margin:8px 0 0; }\n\n    .result{\n      margin-top:12px;\n      padding:12px;\n      border-radius:12px;\n      border:1px solid #d1e7dd;\n      background:#f0fff4;\n      display:none;\n    }\n    .result.bad{\n      border-color:#f5c2c7;\n      background:#fff5f6;\n    }\n    .score{ font-weight:900; font-size:16px; margin-bottom:6px; }\n    .footer{\n      text-align:center;\n      color:#777;\n      font-size:13px;\n      margin-top:18px;\n    }\n  <\/style>\n<\/head>\n\n<body>\n\n  <!-- \u2705 TOP NAV MENU -->\n  <div class=\"icte-menu\">\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-cork\/\">Passage 1<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-hobby\/\">Passage 2<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-knowledge\/\">Passage 3<\/a>\n<a href=\"https:\/\/i-cte.org\/robot\/ielts-cork\/\">Test 1<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-reading-test-2\/\">Test 2<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-reading-test-3\/\">Test 3<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-reading-test-4\/\">Test 4<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-speaking-overview\/\">Speaking<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-listening-overview\/\">Listening<\/a>\n    <a href=\"https:\/\/i-cte.org\/robot\/ielts-writing-overview\/\">Writing<\/a>\n  <\/div>\n\n  <div class=\"page-pad\">\n    <div class=\"container\">\n\n      <!-- \u2705 HERO -->\n      <div class=\"hero\">\n        <div class=\"hero-card\">\n          <div class=\"hero-badge\">IELTS Practice Overview<\/div>\n          <h1 style=\"margin:0 0 6px;\">ICTE Robot \u2013 IELTS Skills Hub<\/h1>\n          <p class=\"sub\" style=\"margin:0;\">\n            Choose an activity below. Start with Reading Passage 1\u20133, then practice Speaking, Listening, and Writing.\n          <\/p>\n          <p style=\"margin:10px 0 0;\">\n            Tip: Open <strong>Reading Strategies<\/strong> first, then use \u201ckeyword \u2192 locate \u2192 verify\u201d while answering.\n          <\/p>\n        <\/div>\n\n        <div class=\"hero-image\" aria-label=\"IELTS banner\">\n          <img decoding=\"async\" src=\"https:\/\/i-cte.org\/robot\/wp-content\/uploads\/2026\/01\/3.webp\" alt=\"IELTS Practice Banner\">\n        <\/div>\n      <\/div>\n\n      <!-- \u2705 QUICK LINKS -->\n      <div class=\"quick\">\n        <div class=\"left\">Quick access:<\/div>\n        <div class=\"links\">\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-cork\/\">Passage 1<\/a>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-hobby\/\">Passage 2<\/a>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-knowledge\/\">Passage 3<\/a>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-speaking\/\">Speaking<\/a>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-listening-overview\/\">Listening<\/a>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-writing-overview\/\">Writing<\/a>\n        <\/div>\n      <\/div>\n\n      <!-- \u2705 STRATEGIES -->\n      <div class=\"strategy-box\" id=\"reading-strategies\">\n        <h2 style=\"margin:0 0 8px;\">IELTS Reading Strategies<\/h2>\n\n        <details open>\n          <summary>Open\/Close strategies<\/summary>\n\n          <div class=\"strategy-actions\">\n            <button class=\"btn btn-green\" type=\"button\" onclick=\"speakStrategies()\">\ud83d\udd0a Read strategies aloud<\/button>\n            <button class=\"btn btn-gray\" type=\"button\" onclick=\"stopSpeaking()\">\u23f9 Stop<\/button>\n          <\/div>\n\n          <div id=\"strategiesText\">\n            <ol class=\"strategy-list\">\n              <li><strong>Do a 60-second scan first<\/strong>\n                <ul>\n                  <li>Read the title and look at question types (TF\/NG, matching headings, summary completion, Y\/N\/NG).<\/li>\n                  <li>Underline keywords in each question (names, numbers, adjectives, \u201cbecause\u201d, \u201cmain purpose\u201d, etc.).<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Don\u2019t read every word<\/strong>\n                <ul>\n                  <li>Read the passage by paragraph\/section, focusing on the main idea of each part.<\/li>\n                  <li>Use the questions to guide where to read more carefully.<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Use the \u201ckeyword \u2192 locate \u2192 verify\u201d method<\/strong>\n                <ul>\n                  <li><strong>Keyword:<\/strong> choose 1\u20132 strong keywords from the question (rare words, technical terms).<\/li>\n                  <li><strong>Locate:<\/strong> scan the text to find the same word or a synonym.<\/li>\n                  <li><strong>Verify:<\/strong> read 1\u20132 sentences before\/after and confirm the meaning.<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>True \/ False \/ Not Given (TF\/NG)<\/strong>\n                <ul>\n                  <li><strong>TRUE<\/strong> = the passage clearly says the same meaning.<\/li>\n                  <li><strong>FALSE<\/strong> = the passage clearly says the opposite.<\/li>\n                  <li><strong>NOT GIVEN<\/strong> = the passage does not mention it (even if it sounds logical).<\/li>\n                  <li><em>Tip:<\/em> If you can\u2019t underline the exact supporting line, it\u2019s usually <strong>NOT GIVEN<\/strong>.<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>YES \/ NO \/ NOT GIVEN (writer\u2019s opinion)<\/strong>\n                <ul>\n                  <li><strong>YES<\/strong> = the writer agrees.<\/li>\n                  <li><strong>NO<\/strong> = the writer disagrees.<\/li>\n                  <li><strong>NOT GIVEN<\/strong> = no clear writer opinion stated.<\/li>\n                  <li><em>Tip:<\/em> Look for opinion signals: <em>I believe, suggests, argues, my proposal, it seems, should<\/em>.<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Matching headings<\/strong>\n                <ul>\n                  <li>Read the first and last sentences of each section + the general idea.<\/li>\n                  <li>Headings match the main idea, not one detail.<\/li>\n                  <li><em>Tip:<\/em> Write 3\u20135 words to summarize each section (e.g., \u201ccourse misuse risk\u201d, \u201cmeans vs ends\u201d).<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Summary \/ sentence completion (ONE WORD \/ TWO WORDS)<\/strong>\n                <ul>\n                  <li>Answers must come exactly from the passage.<\/li>\n                  <li>Check grammar: singular\/plural, verb tense, collocation.<\/li>\n                  <li>Don\u2019t add extra words (no \u201ca\/the\u201d unless in the passage).<\/li>\n                  <li><em>Tip:<\/em> After filling, read the completed sentence\u2014does it sound grammatically correct?<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Watch synonyms and paraphrases<\/strong>\n                <ul>\n                  <li>IELTS often changes wording: <em>purpose \u2194 end<\/em>, <em>illegal \u2194 dishonest<\/em>, <em>cheap to produce \u2194 lower manufacturing cost<\/em>.<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Time management<\/strong>\n                <ul>\n                  <li>If stuck on one question for &gt; 60\u201390 seconds, skip and return.<\/li>\n                  <li>Aim ~1 minute per question on average.<\/li>\n                <\/ul>\n              <\/li>\n\n              <li><strong>Final check (2 minutes)<\/strong>\n                <ul>\n                  <li>Check spelling and word limits (ONE WORD \/ NO MORE THAN TWO WORDS).<\/li>\n                  <li>Answer every question (guess if necessary\u2014no penalty).<\/li>\n                <\/ul>\n              <\/li>\n            <\/ol>\n          <\/div>\n        <\/details>\n      <\/div>\n      <!-- \u2705 FINAL SECTION: IELTS Reading Practice (Added) -->\n      <hr class=\"divider\">\n\n      <h2 id=\"ielts-reading-practice\" style=\"margin-bottom:6px;\">IELTS Reading Practice<\/h2>\n      <p class=\"sub\" style=\"margin-top:0;\">\n        Use the timer, read the passage, answer questions, then click <strong>Check Answers<\/strong>.\n        (You can replace the passage text and the answer key easily.)\n      <\/p>\n\n      <div class=\"grid\">\n        <!-- LEFT: PASSAGE -->\n        <section class=\"panel\" aria-label=\"Reading passage\">\n          <div class=\"panel-title\">\n            <h3 style=\"margin:0;\">Reading Passage<\/h3>\n            <span class=\"pill\">Passage<\/span>\n          <\/div>\n\n          <div class=\"inline\" style=\"justify-content:space-between;\">\n            <div class=\"timer\" id=\"timer\">Time: 00:00<\/div>\n            <div class=\"toolbar\">\n              <button class=\"btn btn-blue\" type=\"button\" onclick=\"startTimer()\">\u25b6 Start<\/button>\n              <button class=\"btn btn-gray\" type=\"button\" onclick=\"pauseTimer()\">\u23f8 Pause<\/button>\n              <button class=\"btn btn-gray\" type=\"button\" onclick=\"resetTimer()\">\u21ba Reset<\/button>\n              <button class=\"btn btn-green\" type=\"button\" onclick=\"readPassage()\">\ud83d\udd0a Read passage<\/button>\n              <button class=\"btn btn-red\" type=\"button\" onclick=\"stopSpeaking()\">\u23f9 Stop<\/button>\n            <\/div>\n          <\/div>\n\n          <!-- \u2705 Replace this passage with your real IELTS text -->\n          <div class=\"passage\" id=\"passageText\">\n            <p><span class=\"para-label\">A<\/span> This is a sample IELTS-style reading passage. Replace this text with your real passage (Passage 1 \/ Passage 2 \/ Passage 3).<\/p>\n            <p><span class=\"para-label\">B<\/span> Write short paragraphs and keep the section labels (A, B, C&#8230;) if you use headings or matching information tasks.<\/p>\n            <p><span class=\"para-label\">C<\/span> IELTS questions often require scanning for keywords, then verifying meaning using the sentences around the match.<\/p>\n            <p><span class=\"para-label\">D<\/span> When you add the real passage, update the answer key in the script below (search for <strong>ANSWER_KEY<\/strong>).<\/p>\n          <\/div>\n\n          <p class=\"small-note\">\n            Tip: Encourage students to underline keywords in questions first, then scan the passage.\n          <\/p>\n        <\/section>\n\n        <!-- RIGHT: QUESTIONS -->\n        <section class=\"panel\" aria-label=\"Questions\">\n          <div class=\"panel-title\">\n            <h3 style=\"margin:0;\">Questions<\/h3>\n            <span class=\"pill\">Auto-check<\/span>\n          <\/div>\n\n          <!-- Q1: TF\/NG -->\n          <div class=\"q\">\n            <h4>Q1. True \/ False \/ Not Given<\/h4>\n            <p>The passage clearly states that this passage is only a sample.<\/p>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q1\" value=\"TRUE\"> TRUE<\/label><\/div>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q1\" value=\"FALSE\"> FALSE<\/label><\/div>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q1\" value=\"NOT GIVEN\"> NOT GIVEN<\/label><\/div>\n          <\/div>\n\n          <!-- Q2: Yes\/No\/NG -->\n          <div class=\"q\">\n            <h4>Q2. Yes \/ No \/ Not Given (Writer\u2019s opinion)<\/h4>\n            <p>The writer believes scanning is more important than reading carefully.<\/p>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q2\" value=\"YES\"> YES<\/label><\/div>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q2\" value=\"NO\"> NO<\/label><\/div>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q2\" value=\"NOT GIVEN\"> NOT GIVEN<\/label><\/div>\n          <\/div>\n\n          <!-- Q3: MCQ -->\n          <div class=\"q\">\n            <h4>Q3. Multiple choice<\/h4>\n            <p>What is the main purpose of paragraph D?<\/p>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q3\" value=\"A\"> A. Explain how to replace the passage text<\/label><\/div>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q3\" value=\"B\"> B. Describe a scientific experiment<\/label><\/div>\n            <div class=\"opt\"><label><input type=\"radio\" name=\"q3\" value=\"C\"> C. Provide historical background<\/label><\/div>\n          <\/div>\n\n          <!-- Q4: Summary completion (ONE WORD) -->\n          <div class=\"q\">\n            <h4>Q4. Summary completion (ONE WORD)<\/h4>\n            <p>IELTS questions often require scanning for ______ and then verifying meaning.<\/p>\n            <div class=\"inline\">\n              <input type=\"text\" id=\"q4\" placeholder=\"ONE WORD\" \/>\n              <span class=\"pill\">ONE WORD<\/span>\n            <\/div>\n          <\/div>\n\n          <!-- Q5: Matching headings (dropdown) -->\n          <div class=\"q\">\n            <h4>Q5. Matching headings<\/h4>\n            <p>Select the best heading for paragraph C.<\/p>\n            <select id=\"q5\">\n              <option value=\"\">Choose\u2026<\/option>\n              <option value=\"i\">i. How IELTS answers are checked<\/option>\n              <option value=\"ii\">ii. Why scanning + verifying matters<\/option>\n              <option value=\"iii\">iii. A story about a student<\/option>\n            <\/select>\n          <\/div>\n\n          <div class=\"toolbar\" style=\"margin-top:14px;\">\n            <button class=\"btn btn-green\" type=\"button\" onclick=\"checkAnswers()\">\u2705 Check Answers<\/button>\n            <button class=\"btn btn-gray\" type=\"button\" onclick=\"resetQuiz()\">\ud83e\uddf9 Reset<\/button>\n          <\/div>\n\n          <div class=\"result\" id=\"resultBox\" aria-live=\"polite\"><\/div>\n        <\/section>\n      <\/div>\n\n      <!-- \u2705 OVERVIEW CARDS -->\n      <div class=\"section-title\">\n        <h2 style=\"margin:0;\">Choose a section<\/h2>\n        <p class=\"muted\">Click a card to open that activity.<\/p>\n      <\/div>\n\n      <div class=\"cards\">\n        <div class=\"card\">\n          <span class=\"tag\">IELTS Reading<\/span>\n          <h3>Passage 1<\/h3>\n          <p>Practice scanning, locating keywords, and answering IELTS-style questions.<\/p>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-cork\/\">Open Passage 1<\/a>\n        <\/div>\n\n        <div class=\"card\">\n          <span class=\"tag\">IELTS Reading<\/span>\n          <h3>Passage 2<\/h3>\n          <p>Improve speed + accuracy with timed reading and careful verification.<\/p>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-hobby\/\">Open Passage 2<\/a>\n        <\/div>\n\n        <div class=\"card\">\n          <span class=\"tag\">IELTS Reading<\/span>\n          <h3>Passage 3<\/h3>\n          <p>Advanced reading practice: paraphrases, headings, and summary completion.<\/p>\n          <a href=\"https:\/\/i-cte.org\/robot\/ielts-knowledge\/\">Open Passage 3<\/a>\n        <\/div>\n\n        <div class=\"card\">\n          <span class=\"tag\">Speaking<\/span>\n          <h3>Speaking<\/h3>\n          <p>Practice describing pictures and answering questions with fluency and confidence.<\/p>\n          <a href=\"https:\/\/i-cte.org\/robot\/hopes-and-intentions-describing-pictures\/\">Open Speaking<\/a>\n        <\/div>\n\n        <div class=\"card\">\n          <span class=\"tag\">Listening<\/span>\n          <h3>Listening<\/h3>\n          <p>Listen to scripts, follow conversations, and answer comprehension questions.<\/p>\n          <a href=\"https:\/\/i-cte.org\/robot\/hopes-and-intentions-reading-comprehension\/\">Open Listening<\/a>\n        <\/div>\n\n        <div class=\"card\">\n          <span class=\"tag\">Writing<\/span>\n          <h3>Writing<\/h3>\n          <p>Practice writing tasks with structure, vocabulary, and clear grammar.<\/p>\n          <a href=\"https:\/\/i-cte.org\/robot\/hopes-and-intentions-listening\/\">Open Writing<\/a>\n        <\/div>\n      <\/div>\n\n\n\n      <div class=\"footer\">\n        &copy; 2025 ICTE Robot. All rights reserved.\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n    \/\/ =========================\n    \/\/ SPEECH (Strategies + Passage)\n    \/\/ =========================\n    let currentUtterance = null;\n\n    function speakText(text, lang = \"en-US\") {\n      stopSpeaking();\n      if (!(\"speechSynthesis\" in window)) {\n        alert(\"Speech synthesis is not supported in this browser.\");\n        return;\n      }\n      currentUtterance = new SpeechSynthesisUtterance(text);\n      currentUtterance.rate = 1.0;\n      currentUtterance.pitch = 1.0;\n      currentUtterance.lang = lang;\n      window.speechSynthesis.speak(currentUtterance);\n    }\n\n    function speakStrategies() {\n      const el = document.getElementById(\"strategiesText\");\n      if (!el) return;\n      speakText(el.innerText.trim(), \"en-US\");\n    }\n\n    function readPassage() {\n      const el = document.getElementById(\"passageText\");\n      if (!el) return;\n      speakText(el.innerText.trim(), \"en-US\");\n    }\n\n    function stopSpeaking() {\n      if (\"speechSynthesis\" in window) window.speechSynthesis.cancel();\n      currentUtterance = null;\n    }\n\n    \/\/ =========================\n    \/\/ TIMER\n    \/\/ =========================\n    let t = 0;\n    let timerId = null;\n\n    function formatTime(sec){\n      const m = String(Math.floor(sec \/ 60)).padStart(2, \"0\");\n      const s = String(sec % 60).padStart(2, \"0\");\n      return `${m}:${s}`;\n    }\n\n    function renderTimer(){\n      const el = document.getElementById(\"timer\");\n      if (el) el.textContent = `Time: ${formatTime(t)}`;\n    }\n\n    function startTimer(){\n      if (timerId) return;\n      timerId = setInterval(() => {\n        t++;\n        renderTimer();\n      }, 1000);\n    }\n\n    function pauseTimer(){\n      if (timerId){\n        clearInterval(timerId);\n        timerId = null;\n      }\n    }\n\n    function resetTimer(){\n      pauseTimer();\n      t = 0;\n      renderTimer();\n    }\n\n    \/\/ =========================\n    \/\/ QUIZ CHECKER (EDIT ANSWERS HERE)\n    \/\/ =========================\n    const ANSWER_KEY = {\n      q1: \"TRUE\",\n      q2: \"NOT GIVEN\",\n      q3: \"A\",\n      q4: \"keywords\",\n      q5: \"ii\"\n    };\n\n    function getRadioValue(name){\n      const checked = document.querySelector(`input[name=\"${name}\"]:checked`);\n      return checked ? checked.value : \"\";\n    }\n\n    function normalizeText(s){\n      return (s || \"\")\n        .trim()\n        .replace(\/\\s+\/g, \" \")\n        .toLowerCase();\n    }\n\n    function checkAnswers(){\n      stopSpeaking();\n\n      const user = {\n        q1: getRadioValue(\"q1\"),\n        q2: getRadioValue(\"q2\"),\n        q3: getRadioValue(\"q3\"),\n        q4: document.getElementById(\"q4\")?.value || \"\",\n        q5: document.getElementById(\"q5\")?.value || \"\"\n      };\n\n      let correct = 0;\n      let total = Object.keys(ANSWER_KEY).length;\n      const feedback = [];\n\n      [\"q1\",\"q2\",\"q3\"].forEach(q => {\n        if (user[q] === ANSWER_KEY[q]) {\n          correct++;\n          feedback.push(`\u2705 ${q.toUpperCase()}: Correct`);\n        } else {\n          feedback.push(`\u274c ${q.toUpperCase()}: Your answer = ${user[q] || \"(blank)\"} | Correct = ${ANSWER_KEY[q]}`);\n        }\n      });\n\n      if (normalizeText(user.q4) === normalizeText(ANSWER_KEY.q4)) {\n        correct++;\n        feedback.push(`\u2705 Q4: Correct`);\n      } else {\n        feedback.push(`\u274c Q4: Your answer = ${user.q4 || \"(blank)\"} | Correct = ${ANSWER_KEY.q4}`);\n      }\n\n      if (user.q5 === ANSWER_KEY.q5) {\n        correct++;\n        feedback.push(`\u2705 Q5: Correct`);\n      } else {\n        feedback.push(`\u274c Q5: Your answer = ${user.q5 || \"(blank)\"} | Correct = ${ANSWER_KEY.q5}`);\n      }\n\n      const box = document.getElementById(\"resultBox\");\n      if (!box) return;\n\n      box.style.display = \"block\";\n      const percent = Math.round((correct \/ total) * 100);\n      const isGood = percent >= 70;\n\n      box.className = \"result\" + (isGood ? \"\" : \" bad\");\n      box.innerHTML = `\n        <div class=\"score\">Score: ${correct}\/${total} (${percent}%)<\/div>\n        <div style=\"font-size:14px;color:#333;line-height:1.6;\">${feedback.join(\"<br>\")}<\/div>\n        <p class=\"small-note\"><strong>Teacher tip:<\/strong> For wrong items, ask students to underline the exact line in the passage that proves the correct answer.<\/p>\n      `;\n    }\n\n    function resetQuiz(){\n      stopSpeaking();\n\n      [\"q1\",\"q2\",\"q3\"].forEach(name => {\n        document.querySelectorAll(`input[name=\"${name}\"]`).forEach(r => r.checked = false);\n      });\n\n      const q4 = document.getElementById(\"q4\");\n      const q5 = document.getElementById(\"q5\");\n      if (q4) q4.value = \"\";\n      if (q5) q5.value = \"\";\n\n      const box = document.getElementById(\"resultBox\");\n      if (box){\n        box.style.display = \"none\";\n        box.innerHTML = \"\";\n      }\n\n      resetTimer();\n    }\n\n    \/\/ init timer UI\n    renderTimer();\n  <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>IELTS Practice Overview \u2013 ICTE Robot Passage 1 Passage 2 Passage 3 Test 1 Test 2 Test 3 Test 4<\/p>\n","protected":false},"author":1,"featured_media":581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","footnotes":""},"categories":[25,26,27],"tags":[],"class_list":["post-447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ielts","category-reading","category-test-1"],"_links":{"self":[{"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/posts\/447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/comments?post=447"}],"version-history":[{"count":7,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/posts\/447\/revisions"}],"predecessor-version":[{"id":696,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/posts\/447\/revisions\/696"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/media\/581"}],"wp:attachment":[{"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/media?parent=447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/categories?post=447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i-cte.org\/robot\/wp-json\/wp\/v2\/tags?post=447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}