{"id":11545,"date":"2026-08-22T16:30:47","date_gmt":"2026-08-22T13:30:47","guid":{"rendered":"https:\/\/lingualand.gr\/new\/exercises\/b-junior-listening-04-what-can-they-do\/"},"modified":"2026-09-05T17:00:30","modified_gmt":"2026-09-05T14:00:30","slug":"b-junior-listening-04-what-can-they-do","status":"publish","type":"page","link":"https:\/\/lingualand.gr\/new\/exercises\/b-junior-listening-04-what-can-they-do\/","title":{"rendered":"B Junior Listening 4 \u2013 What Can They Do?"},"content":{"rendered":"<!-- lingualand-listening-access:bj:lesson:start -->\r\n<div id=\"accessGate-lesson-bj\" class=\"lingualand-listening-access-gate\" style=\"position:fixed;inset:0;z-index:999999;display:grid;place-items:center;min-height:100vh;padding:24px;background:#f6f3eb;color:#24343a;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Arial,sans-serif\"><form id=\"accessForm-lesson-bj\" style=\"width:min(460px,100%);background:#fff;border:1px solid #d8cfc1;border-radius:18px;padding:28px;box-shadow:0 18px 45px rgba(50,38,24,.12);text-align:left;box-sizing:border-box\"><h4 style=\"margin:0 0 10px;color:#24343a;font-size:26px;line-height:1.15;font-weight:800\">B Junior Listening Access<\/h4><p style=\"margin:0 0 18px;color:#607078;line-height:1.45;font-size:16px\">Enter your access key to open the exercises.<\/p><input id=\"accessKey-lesson-bj\" type=\"password\" autocomplete=\"off\" style=\"width:100%;box-sizing:border-box;border:1px solid #c9c0b3;border-radius:12px;padding:13px 14px;background:#fff;color:#17212b;font:inherit\" aria-label=\"Access key\"><button type=\"submit\" style=\"margin-top:14px;width:100%;border:0;border-radius:12px;padding:13px 16px;background:#24343a;color:#fff;font-weight:800;cursor:pointer;font:inherit\">Open exercises<\/button><div id=\"accessMessage-lesson-bj\" style=\"min-height:1.4em;margin-top:12px;color:#b42318;font-weight:700\" aria-live=\"polite\"><\/div><\/form><\/div><div id=\"exerciseApp-lesson-bj\" hidden><!-- lingualand-listening-exercise:bj:4:start -->\r\n<div class=\"lingualand-bj-listening-exercise-page\" style=\"max-width:1100px;margin:20px auto;\"><iframe title=\"B Junior Listening 4 \u2013 What Can They Do?\" srcdoc=\"&lt;!doctype html&gt;\r\n&lt;html lang=&quot;en&quot;&gt;\r\n&lt;head&gt;\r\n  &lt;meta charset=&quot;utf-8&quot;&gt;\r\n  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1&quot;&gt;\r\n  &lt;title&gt;B Junior Listening 4 \u2013 What Can They Do?&lt;\/title&gt;\r\n  &lt;style&gt;\r\n    :root{--navy:#20385f;--blue:#3678bd;--gold:#f4bd43;--green:#27864a;--red:#c43d3d;--orange:#c47700;--ink:#26344a;--pale:#eef6ff}\r\n    *{box-sizing:border-box}\r\n    body{margin:0;min-height:100vh;padding:24px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(145deg,#eaf5ff,#fff7e6)}\r\n    .page{width:min(1100px,100%);margin:auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 45px #20385f22}\r\n    header{padding:25px 28px;text-align:center;color:#fff;background:var(--navy)}\r\n    .brand{margin:0 0 6px;color:var(--gold);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:.84rem}\r\n    h1{margin:0;font-size:clamp(1.55rem,4vw,2.25rem)}\r\n    header p{margin:8px 0 0;opacity:.9}\r\n    main{padding:28px}\r\n    .instructions{margin-bottom:18px;padding:15px 18px;border-left:5px solid var(--blue);border-radius:10px;background:var(--pale);line-height:1.5}\r\n    .warning{color:#a75d00;font-weight:800}\r\n    .audio-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:18px 0 22px}\r\n    button{border:0;border-radius:11px;padding:12px 17px;font-size:.96rem;font-weight:800;cursor:pointer;transition:.15s}\r\n    button:hover{transform:translateY(-1px);filter:brightness(.97)}\r\n    button:disabled{opacity:.55;cursor:not-allowed;transform:none}\r\n    .listen-all{background:var(--blue);color:#fff}\r\n    .stop{background:#e7edf4;color:var(--navy)}\r\n    #audioStatus{min-width:165px;color:var(--blue);font-weight:800;text-align:center}\r\n    .table-wrap{overflow-x:auto;border:2px solid #e3eaf3;border-radius:15px}\r\n    table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;text-align:center}\r\n    th,td{border-right:1px solid #dce4ee;border-bottom:1px solid #dce4ee;padding:10px 7px}\r\n    tr:last-child td,tr:last-child th{border-bottom:0}\r\n    th:last-child,td:last-child{border-right:0}\r\n    thead th{position:sticky;top:0;background:var(--navy);color:#fff;font-size:.86rem;vertical-align:bottom}\r\n    thead th:first-child{left:0;z-index:3;min-width:175px}\r\n    .action-icon{display:block;margin-bottom:5px;font-size:1.55rem}\r\n    tbody th{position:sticky;left:0;z-index:2;min-width:175px;background:#f7faff;text-align:left}\r\n    .child{display:flex;align-items:center;gap:9px}\r\n    .avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold);font-size:1.25rem}\r\n    .child-name{display:block;font-size:1.05rem;color:var(--navy)}\r\n    .child-role{display:block;margin-top:2px;color:#758196;font-size:.75rem;font-weight:normal}\r\n    .row-listen{margin-top:7px;padding:7px 10px;border-radius:8px;background:var(--blue);color:#fff;font-size:.78rem}\r\n    td{height:82px;background:#fff;transition:.2s}\r\n    input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}\r\n    .tickbox{width:39px;height:39px;display:inline-grid;place-items:center;border:3px solid #aebccd;border-radius:10px;background:#fff;color:#fff;font-size:1.55rem;font-weight:900;cursor:pointer;transition:.15s}\r\n    label:hover .tickbox{border-color:var(--blue);background:#f4f9ff}\r\n    input:focus-visible+.tickbox{outline:3px solid #9dc9ef;outline-offset:2px}\r\n    input:checked+.tickbox{border-color:var(--blue);background:var(--blue)}\r\n    td.correct{background:#effbf3}\r\n    td.correct .tickbox{border-color:var(--green);background:var(--green)}\r\n    td.extra{background:#fff0f0}\r\n    td.extra .tickbox{border-color:var(--red);background:var(--red)}\r\n    td.missed{background:#fff8e7}\r\n    td.missed .tickbox{border-color:var(--orange);background:#fff;color:var(--orange)}\r\n    .actions{display:flex;justify-content:center;gap:11px;margin-top:24px}\r\n    .check{background:var(--green);color:#fff}\r\n    .reset{background:#e7edf4;color:var(--navy)}\r\n    #result{min-height:36px;margin:18px 0 0;text-align:center;font-size:1.16rem;font-weight:900}\r\n    .legend{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;color:#657187;font-size:.84rem}\r\n    .dot{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:3px;vertical-align:-1px}\r\n    footer{text-align:center;padding:0 20px 22px;color:#748096;font-size:.83rem}\r\n    @media(max-width:650px){body{padding:10px}main{padding:18px}.actions{flex-direction:column}.actions button{width:100%}.audio-bar{align-items:stretch}.audio-bar button{flex:1 1 140px}}\r\n  &lt;\/style&gt;\r\n&lt;style id=&quot;lingualand-unified-access-style&quot;&gt;\r\n#accessGate[hidden],#lingualandAccessGate[hidden],[id^=&quot;accessGate-lesson-&quot;][hidden],.lingualand-access-gate[hidden],.lingualand-listening-access-gate[hidden]{display:none!important}\r\n#accessGate,#lingualandAccessGate,[id^=&quot;accessGate-lesson-&quot;],.lingualand-access-gate,.lingualand-listening-access-gate{\r\n  position:fixed!important;inset:0!important;z-index:999999!important;display:grid!important;place-items:center!important;\r\n  min-height:100vh!important;padding:24px!important;background:#f6f3eb!important;color:#24343a!important;box-sizing:border-box!important;\r\n}\r\n#accessGate&gt;div,#lingualandAccessGate&gt;div,[id^=&quot;accessGate-lesson-&quot;]&gt;div,.lingualand-access-gate&gt;div,.lingualand-listening-access-gate&gt;div,\r\n#accessGate&gt;form,#lingualandAccessGate&gt;form,[id^=&quot;accessGate-lesson-&quot;]&gt;form,.lingualand-access-gate&gt;form,.lingualand-listening-access-gate&gt;form{\r\n  width:min(460px,100%)!important;background:#fff!important;border:1px solid #d8cfc1!important;border-radius:18px!important;\r\n  padding:28px!important;box-shadow:0 18px 45px rgba(50,38,24,.12)!important;text-align:left!important;\r\n  font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Arial,sans-serif!important;box-sizing:border-box!important;\r\n}\r\n#accessGate h1,#lingualandAccessGate h1,[id^=&quot;accessGate-lesson-&quot;] h1,.lingualand-access-gate h1,.lingualand-listening-access-gate h1{\r\n  margin:0 0 10px!important;font-size:26px!important;line-height:1.15!important;color:#24343a!important;font-weight:800!important;\r\n}\r\n#accessGate p,#lingualandAccessGate p,[id^=&quot;accessGate-lesson-&quot;] p,.lingualand-access-gate p,.lingualand-listening-access-gate p{\r\n  margin:0 0 18px!important;color:#607078!important;line-height:1.45!important;font-size:16px!important;\r\n}\r\n#accessGate label,#lingualandAccessGate label,[id^=&quot;accessGate-lesson-&quot;] label,.lingualand-access-gate label,.lingualand-listening-access-gate label{\r\n  display:block!important;margin:0 0 8px!important;color:#24343a!important;font-weight:700!important;\r\n}\r\n#accessGate input,#lingualandAccessGate input,[id^=&quot;accessGate-lesson-&quot;] input,.lingualand-access-gate input,.lingualand-listening-access-gate input{\r\n  width:100%!important;box-sizing:border-box!important;border:1px solid #c9c0b3!important;border-radius:12px!important;\r\n  padding:13px 14px!important;background:#fff!important;color:#17212b!important;font:inherit!important;\r\n}\r\n#accessGate button,#lingualandAccessGate button,[id^=&quot;accessGate-lesson-&quot;] button,.lingualand-access-gate button,.lingualand-listening-access-gate button{\r\n  margin-top:14px!important;width:100%!important;border:0!important;border-radius:12px!important;padding:13px 16px!important;\r\n  background:#24343a!important;color:#fff!important;font-weight:800!important;cursor:pointer!important;font:inherit!important;\r\n}\r\n#accessGate button:hover,#lingualandAccessGate button:hover,[id^=&quot;accessGate-lesson-&quot;] button:hover,.lingualand-access-gate button:hover,.lingualand-listening-access-gate button:hover{\r\n  background:#34505a!important;\r\n}\r\n#accessError,#lingualandAccessError,[id^=&quot;accessMessage-&quot;],.lingualand-access-error,.ll-gate-error,.gate-error{\r\n  min-height:1.4em!important;margin-top:12px!important;color:#b42318!important;font-weight:700!important;\r\n}\r\n&lt;\/style&gt;&lt;\/head&gt;\r\n&lt;body&gt;\r\n  &lt;section class=&quot;page&quot;&gt;\r\n    &lt;header&gt;\r\n      &lt;p class=&quot;brand&quot;&gt;Lingualand \u00b7 Est. 1972&lt;\/p&gt;\r\n      &lt;h1&gt;What Can They Do?&lt;\/h1&gt;\r\n      &lt;p&gt;B Junior \u00b7 Listening Exercise 4&lt;\/p&gt;\r\n    &lt;\/header&gt;\r\n    &lt;main&gt;\r\n      &lt;div class=&quot;instructions&quot;&gt;&lt;strong&gt;Listen carefully.&lt;\/strong&gt; Tick (\u2713) only the activities each child &lt;strong&gt;can&lt;\/strong&gt; do. &lt;span class=&quot;warning&quot;&gt;Be careful: they also say what they can\u2019t do!&lt;\/span&gt;&lt;\/div&gt;\r\n\r\n      &lt;div class=&quot;audio-bar&quot;&gt;\r\n        &lt;button class=&quot;listen-all&quot; id=&quot;listenAll&quot; type=&quot;button&quot;&gt;\u25b6 Listen to all&lt;\/button&gt;\r\n        &lt;button class=&quot;stop&quot; id=&quot;stopAudio&quot; type=&quot;button&quot; disabled&gt;\u25a0 Stop&lt;\/button&gt;\r\n        &lt;span id=&quot;audioStatus&quot; aria-live=&quot;polite&quot;&gt;Ready to listen&lt;\/span&gt;\r\n      &lt;\/div&gt;\r\n      &lt;audio id=&quot;recording-0&quot; preload=&quot;auto&quot;&gt;&lt;source src=&quot;https:\/\/lingualand.gr\/new\/wp-content\/uploads\/2026\/08\/b-junior-listening-04-what-can-they-do-asset-01.mp3&quot; type=&quot;audio\/mpeg&quot;&gt;&lt;\/audio&gt;\r\n      &lt;audio id=&quot;recording-1&quot; preload=&quot;auto&quot;&gt;&lt;source src=&quot;https:\/\/lingualand.gr\/new\/wp-content\/uploads\/2026\/08\/b-junior-listening-04-what-can-they-do-asset-02.mp3&quot; type=&quot;audio\/mpeg&quot;&gt;&lt;\/audio&gt;\r\n      &lt;audio id=&quot;recording-2&quot; preload=&quot;auto&quot;&gt;&lt;source src=&quot;https:\/\/lingualand.gr\/new\/wp-content\/uploads\/2026\/08\/b-junior-listening-04-what-can-they-do-asset-03.mp3&quot; type=&quot;audio\/mpeg&quot;&gt;&lt;\/audio&gt;\r\n\r\n      &lt;div class=&quot;table-wrap&quot; aria-label=&quot;Scrollable listening table&quot;&gt;\r\n        &lt;table&gt;\r\n          &lt;thead&gt;\r\n            &lt;tr&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;Child&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\ud83c\udfca&lt;\/span&gt;Swim&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\ud83d\udeb2&lt;\/span&gt;Ride a bike&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\u26bd&lt;\/span&gt;Play football&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\ud83d\udc83&lt;\/span&gt;Dance&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\ud83c\udfa4&lt;\/span&gt;Sing&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\ud83c\udf33&lt;\/span&gt;Climb a tree&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\ud83c\udfa8&lt;\/span&gt;Draw&lt;\/th&gt;\r\n              &lt;th scope=&quot;col&quot;&gt;&lt;span class=&quot;action-icon&quot;&gt;\u26f8\ufe0f&lt;\/span&gt;Skate&lt;\/th&gt;\r\n            &lt;\/tr&gt;\r\n          &lt;\/thead&gt;\r\n          &lt;tbody id=&quot;answerTable&quot;&gt;&lt;\/tbody&gt;\r\n        &lt;\/table&gt;\r\n      &lt;\/div&gt;\r\n\r\n      &lt;div class=&quot;actions&quot;&gt;\r\n        &lt;button class=&quot;check&quot; id=&quot;checkAnswers&quot; type=&quot;button&quot;&gt;Check answers&lt;\/button&gt;\r\n        &lt;button class=&quot;reset&quot; id=&quot;resetExercise&quot; type=&quot;button&quot;&gt;Try again&lt;\/button&gt;\r\n      &lt;\/div&gt;\r\n      &lt;p id=&quot;result&quot; aria-live=&quot;polite&quot;&gt;&lt;\/p&gt;\r\n      &lt;div class=&quot;legend&quot; id=&quot;legend&quot; hidden&gt;\r\n        &lt;span&gt;&lt;i class=&quot;dot&quot; style=&quot;background:#27864a&quot;&gt;&lt;\/i&gt;Correct tick&lt;\/span&gt;\r\n        &lt;span&gt;&lt;i class=&quot;dot&quot; style=&quot;background:#c43d3d&quot;&gt;&lt;\/i&gt;Incorrect tick&lt;\/span&gt;\r\n        &lt;span&gt;&lt;i class=&quot;dot&quot; style=&quot;background:#f4bd43&quot;&gt;&lt;\/i&gt;Missing tick&lt;\/span&gt;\r\n      &lt;\/div&gt;\r\n    &lt;\/main&gt;\r\n    &lt;footer&gt;The listening transcript is hidden during the activity.&lt;\/footer&gt;\r\n  &lt;\/section&gt;\r\n\r\n  &lt;script&gt;\r\n    const activities=[\r\n      {id:&quot;swim&quot;,label:&quot;swim&quot;},\r\n      {id:&quot;bike&quot;,label:&quot;ride a bike&quot;},\r\n      {id:&quot;football&quot;,label:&quot;play football&quot;},\r\n      {id:&quot;dance&quot;,label:&quot;dance&quot;},\r\n      {id:&quot;sing&quot;,label:&quot;sing&quot;},\r\n      {id:&quot;climb&quot;,label:&quot;climb a tree&quot;},\r\n      {id:&quot;draw&quot;,label:&quot;draw&quot;},\r\n      {id:&quot;skate&quot;,label:&quot;skate&quot;}\r\n    ];\r\n\r\n    const children=[\r\n      {\r\n        name:&quot;Ben&quot;,role:&quot;Boy&quot;,avatar:&quot;\ud83d\udc66&quot;,\r\n        can:[&quot;swim&quot;,&quot;bike&quot;,&quot;football&quot;,&quot;climb&quot;],\r\n        text:&quot;Hi, I'm Ben! I can swim and ride a bike. I can play football too, and I can climb a tree. But I can't dance or sing. And I can't draw or skate.&quot;,\r\n        voiceNames:[&quot;Oliver&quot;,&quot;Daniel&quot;,&quot;Jamie&quot;,&quot;Tom&quot;,&quot;Fred&quot;],pitch:1.04,rate:.82\r\n      },\r\n      {\r\n        name:&quot;Lucy&quot;,role:&quot;Girl&quot;,avatar:&quot;\ud83d\udc67&quot;,\r\n        can:[&quot;dance&quot;,&quot;sing&quot;,&quot;draw&quot;,&quot;skate&quot;],\r\n        text:&quot;Hello, I'm Lucy! I can't swim or ride a bike. I can't play football, and I can't climb a tree either. But I can dance, and I can sing very well. I can draw beautiful pictures too, and I can skate.&quot;,\r\n        voiceNames:[&quot;Serena&quot;,&quot;Samantha&quot;,&quot;Karen&quot;,&quot;Ava&quot;,&quot;Tessa&quot;,&quot;Sandy&quot;],pitch:1.07,rate:.8\r\n      },\r\n      {\r\n        name:&quot;Sophie&quot;,role:&quot;Girl&quot;,avatar:&quot;\ud83d\udc67&quot;,\r\n        can:[&quot;swim&quot;,&quot;bike&quot;,&quot;dance&quot;,&quot;draw&quot;],\r\n        text:&quot;Hi, my name's Sophie! I can swim, but I can't sing. I can ride a bike and dance, but I can't play football. I can draw too. But I can't climb a tree or skate.&quot;,\r\n        voiceNames:[&quot;Tessa&quot;,&quot;Serena&quot;,&quot;Moira&quot;,&quot;Victoria&quot;,&quot;Samantha&quot;,&quot;Shelley&quot;],pitch:1.06,rate:.81\r\n      }\r\n    ];\r\n\r\n    const tbody=document.getElementById(&quot;answerTable&quot;);\r\n    children.forEach((child,rowIndex)=&gt;{\r\n      const row=document.createElement(&quot;tr&quot;);\r\n      const cells=activities.map(activity=&gt;`&lt;td data-child=&quot;${child.name}&quot; data-activity=&quot;${activity.id}&quot;&gt;&lt;label aria-label=&quot;${child.name} can ${activity.label}&quot;&gt;&lt;input type=&quot;checkbox&quot; name=&quot;${child.name}-${activity.id}&quot;&gt;&lt;span class=&quot;tickbox&quot;&gt;\u2713&lt;\/span&gt;&lt;\/label&gt;&lt;\/td&gt;`).join(&quot;&quot;);\r\n      row.innerHTML=`&lt;th scope=&quot;row&quot;&gt;&lt;div class=&quot;child&quot;&gt;&lt;span class=&quot;avatar&quot;&gt;${child.avatar}&lt;\/span&gt;&lt;span&gt;&lt;strong class=&quot;child-name&quot;&gt;${child.name}&lt;\/strong&gt;&lt;small class=&quot;child-role&quot;&gt;${child.role}&lt;\/small&gt;&lt;\/span&gt;&lt;\/div&gt;&lt;button class=&quot;row-listen&quot; type=&quot;button&quot; data-child-index=&quot;${rowIndex}&quot;&gt;\u25b6 Listen&lt;\/button&gt;&lt;\/th&gt;${cells}`;\r\n      tbody.appendChild(row);\r\n    });\r\n\r\n    const listenAll=document.getElementById(&quot;listenAll&quot;);\r\n    const stopAudio=document.getElementById(&quot;stopAudio&quot;);\r\n    const audioStatus=document.getElementById(&quot;audioStatus&quot;);\r\n    const recordings=children.map((_,index)=&gt;document.getElementById(`recording-${index}`));\r\n    let playbackToken=0;\r\n    let currentAudio=null;\r\n    const result=document.getElementById(&quot;result&quot;);\r\n\r\n    function setAudioState(playing,status){\r\n      listenAll.disabled=playing;\r\n      stopAudio.disabled=!playing;\r\n      document.querySelectorAll(&quot;.row-listen&quot;).forEach(button=&gt;button.disabled=playing);\r\n      audioStatus.textContent=status;\r\n    }\r\n\r\n    function stopPlayback(status){\r\n      playbackToken++;\r\n      recordings.forEach(audio=&gt;{audio.pause();audio.currentTime=0;audio.onended=null;audio.onerror=null});\r\n      currentAudio=null;\r\n      setAudioState(false,status);\r\n    }\r\n\r\n    function playRecording(index,onFinished,token){\r\n      const audio=recordings[index];\r\n      currentAudio=audio;\r\n      audio.currentTime=0;\r\n      audio.onended=()=&gt;{\r\n        audio.currentTime=0;\r\n        if(token===playbackToken)onFinished();\r\n      };\r\n      audio.onerror=()=&gt;{\r\n        if(token===playbackToken)setAudioState(false,&quot;The recording could not be played&quot;);\r\n      };\r\n      const playback=audio.play();\r\n      if(playback){\r\n        playback.then(()=&gt;{\r\n          if(token===playbackToken)audioStatus.textContent=children[index].name+&quot; is speaking...&quot;;\r\n        }).catch(()=&gt;{\r\n          if(token===playbackToken)setAudioState(false,&quot;Press Listen again to start&quot;);\r\n        });\r\n      }\r\n    }\r\n\r\n    listenAll.addEventListener(&quot;click&quot;,()=&gt;{\r\n      stopPlayback(&quot;Starting...&quot;);\r\n      const token=++playbackToken;\r\n      setAudioState(true,&quot;Starting...&quot;);\r\n      function next(index){\r\n        if(token!==playbackToken)return;\r\n        if(index===recordings.length){setAudioState(false,&quot;Ready to listen again&quot;);return}\r\n        playRecording(index,()=&gt;setTimeout(()=&gt;next(index+1),650),token);\r\n      }\r\n      next(0);\r\n    });\r\n\r\n    document.addEventListener(&quot;click&quot;,event=&gt;{\r\n      const button=event.target.closest(&quot;.row-listen&quot;);\r\n      if(!button)return;\r\n      stopPlayback(&quot;Starting...&quot;);\r\n      const token=++playbackToken;\r\n      const index=Number(button.dataset.childIndex);\r\n      setAudioState(true,&quot;Starting &quot;+children[index].name+&quot;...&quot;);\r\n      playRecording(index,()=&gt;setAudioState(false,&quot;Ready to listen again&quot;),token);\r\n    });\r\n\r\n    stopAudio.addEventListener(&quot;click&quot;,()=&gt;stopPlayback(&quot;Stopped&quot;));\r\n\r\n    document.getElementById(&quot;checkAnswers&quot;).addEventListener(&quot;click&quot;,()=&gt;{\r\n      let found=0,extras=0;\r\n      document.querySelectorAll(&quot;tbody td&quot;).forEach(cell=&gt;{\r\n        const child=children.find(item=&gt;item.name===cell.dataset.child);\r\n        const shouldBeChecked=child.can.includes(cell.dataset.activity);\r\n        const isChecked=cell.querySelector(&quot;input&quot;).checked;\r\n        const box=cell.querySelector(&quot;.tickbox&quot;);\r\n        cell.classList.remove(&quot;correct&quot;,&quot;extra&quot;,&quot;missed&quot;);\r\n        box.textContent=&quot;\u2713&quot;;\r\n        if(shouldBeChecked&amp;&amp;isChecked){cell.classList.add(&quot;correct&quot;);found++}\r\n        else if(!shouldBeChecked&amp;&amp;isChecked){cell.classList.add(&quot;extra&quot;);box.textContent=&quot;\u2717&quot;;extras++}\r\n        else if(shouldBeChecked&amp;&amp;!isChecked){cell.classList.add(&quot;missed&quot;);box.textContent=&quot;?&quot;}\r\n      });\r\n      const score=Math.max(0,found-extras);\r\n      document.getElementById(&quot;legend&quot;).hidden=false;\r\n      if(score===12&amp;&amp;extras===0){result.textContent=&quot;Excellent! Score: 12 \/ 12 \u2b50&quot;;result.style.color=&quot;#27864a&quot;}\r\n      else{result.textContent=`Score: ${score} \/ 12 \u00b7 Correct ticks: ${found} \u00b7 Incorrect ticks: ${extras}`;result.style.color=&quot;#20385f&quot;}\r\n    });\r\n\r\n    document.getElementById(&quot;resetExercise&quot;).addEventListener(&quot;click&quot;,()=&gt;{\r\n      stopPlayback(&quot;Ready to listen&quot;);\r\n      document.querySelectorAll(&quot;input[type=checkbox]&quot;).forEach(input=&gt;input.checked=false);\r\n      document.querySelectorAll(&quot;tbody td&quot;).forEach(cell=&gt;{\r\n        cell.classList.remove(&quot;correct&quot;,&quot;extra&quot;,&quot;missed&quot;);\r\n        cell.querySelector(&quot;.tickbox&quot;).textContent=&quot;\u2713&quot;;\r\n      });\r\n      result.textContent=&quot;&quot;;\r\n      document.getElementById(&quot;legend&quot;).hidden=true;\r\n      window.scrollTo({top:0,behavior:&quot;smooth&quot;});\r\n    });\r\n\r\n    window.addEventListener(&quot;beforeunload&quot;,()=&gt;recordings.forEach(audio=&gt;audio.pause()));\r\n  &lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n\" style=\"width:100%;min-height:1850px;border:0;border-radius:8px;background:#f8fafc;display:block;\" loading=\"eager\" allow=\"autoplay\"><\/iframe><\/div>\r\n<!-- lingualand-listening-exercise:bj:4:end --><\/div><script>(function(){const expectedHash=\"54c6e6001970489b11bc97cf0986b7b9f1684d10c293be936a975466a86f94b1\";const storageKey=\"lingualandListeningAccess:bj\";const form=document.getElementById(\"accessForm-lesson-bj\"),keyInput=document.getElementById(\"accessKey-lesson-bj\"),msg=document.getElementById(\"accessMessage-lesson-bj\"),gate=document.getElementById(\"accessGate-lesson-bj\"),app=document.getElementById(\"exerciseApp-lesson-bj\");async function sha256(text){const bytes=new TextEncoder().encode(text);const digest=await crypto.subtle.digest(\"SHA-256\",bytes);return Array.from(new Uint8Array(digest)).map(b=>b.toString(16).padStart(2,\"0\")).join(\"\");}function deny(text){msg.textContent=text;app.hidden=true;gate.style.display=\"grid\";}function allow(){try{sessionStorage.setItem(storageKey,\"1\");}catch(e){} gate.style.display=\"none\";app.hidden=false;keyInput.value=\"\";}try{if(sessionStorage.getItem(storageKey)===\"1\") allow();}catch(e){}form.addEventListener(\"submit\",async function(e){e.preventDefault();const entered=keyInput.value.trim();if(!entered){deny(\"Please enter the access key.\");return;}try{const hash=await sha256(entered);if(hash===expectedHash){allow();}else{deny(\"Incorrect access key.\");}}catch(err){deny(\"Access check is unavailable in this browser.\");}});})();<\/script>\r\n<!-- lingualand-listening-access:bj:lesson:end -->","protected":false},"excerpt":{"rendered":"<p>B Junior Listening Access Enter your access key to open the exercises. Open exercises<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":9619,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-11545","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/comments?post=11545"}],"version-history":[{"count":3,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11545\/revisions"}],"predecessor-version":[{"id":11836,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11545\/revisions\/11836"}],"up":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/9619"}],"wp:attachment":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/media?parent=11545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}