* refactor: delete existing steps * feat: create new steps * feat: start writing tests * feat: complete html tests * feat: remaining tests * chore: remove "test 1" Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * fix: wow I really botched that find and replace Co-authored-by: Krzysztof G. <60067306+gikf@users.noreply.github.com> * fix: why firefox gotta be different? * fix: I can maths... * chore: apply shaun's review suggestions Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * fix: unbotch the css oops * fix: acme widget corp * fix: remove z-index * feat: introduce the calc() function * fix: even one more find and replace oops Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> Co-authored-by: Krzysztof G. <60067306+gikf@users.noreply.github.com>
4.1 KiB
4.1 KiB
id, title, challengeType, dashedName
id | title | challengeType | dashedName |
---|---|---|---|
61fd8fd08af43372f02952d0 | Step 19 | 0 | step-19 |
--description--
Give each th
element a span
element with the class set to sr-only
and the following text, in order: 2019
, 2020
, and 2021
.
--hints--
Each of your th
elements should have a span
element.
const ths = [...document.querySelectorAll('table')?.[1]?.querySelectorAll('th')];
ths?.forEach(th => {
assert(th?.children?.length === 1);
assert(th?.children?.[0]?.localName === 'span');
});
Each of your new span
elements should have the class
attribute set to sr-only
.
const ths = [...document.querySelectorAll('table')?.[1]?.querySelectorAll('th')];
ths?.forEach(th => {
assert(th?.children?.[0]?.classList?.contains('sr-only'));
});
Your first span
element should have the text 2019
.
assert(document.querySelectorAll('table')?.[1]?.querySelectorAll('th')?.[0]?.children?.[0]?.textContent === '2019');
Your second span
element should have the text 2020
.
assert(document.querySelectorAll('table')?.[1]?.querySelectorAll('th')?.[1]?.children?.[0]?.textContent === '2020');
Your third span
element should have the text 2021
.
assert(document.querySelectorAll('table')?.[1]?.querySelectorAll('th')?.[2]?.children?.[0]?.textContent === '2021');
Your td
element should be empty.
assert(document.querySelectorAll('table')?.[1]?.querySelectorAll('td')?.[0]?.textContent === '');
assert(document.querySelectorAll('table')?.[1]?.querySelectorAll('td')?.[0]?.children?.length === 0);
--seed--
--seed-contents--
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AcmeWidgetCorp Balance Sheet</title>
<link rel="stylesheet" type="text/css" href="./styles.css">
</head>
<body>
<main>
<section>
<h1>
<span class="flex">
<span>AcmeWidgetCorp</span>
<span>Balance Sheet</span>
</span>
</h1>
<div id="years" aria-hidden="true">
<span class="year">2019</span>
<span class="year">2020</span>
<span class="year">2021</span>
</div>
<div class="table-wrap">
<table>
<caption>Assets</caption>
<thead>
<tr>
<td></td>
<th><span class="sr-only year">2019</span></th>
<th><span class="sr-only year">2020</span></th>
<th class="current"><span class="sr-only year">2021</span></th>
</tr>
</thead>
<tbody>
<tr class="data">
<th>Cash <span class="description">This is the cash we currently have on hand.</span></th>
<td>$25</td>
<td>$30</td>
<td class="current">$28</td>
</tr>
<tr class="data">
<th>Checking <span class="description">Our primary transactional account.</span></th>
<td>$54</td>
<td>$56</td>
<td class="current">$53</td>
</tr>
<tr class="data">
<th>Savings <span class="description">Funds set aside for emergencies.</span></th>
<td>$500</td>
<td>$650</td>
<td class="current">$728</td>
</tr>
<tr class="total">
<th>Total <span class="sr-only">Assets</span></th>
<td>$579</td>
<td>$736</td>
<td class="current">$809</td>
</tr>
</tbody>
</table>
--fcc-editable-region--
<table>
<caption>Liabilities</caption>
<thead>
<tr>
<td></td>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
--fcc-editable-region--
<table>
</table>
</div>
</section>
</main>
</body>
</html>