Files
2022-04-15 14:16:36 -03:00

6.1 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
6144f8dc6849e405dd8bb829 Passo 29 0 step-29

--description--

Para fornecer a funcionalidade das perguntas de verdadeiro/falso, precisamos de um conjunto de entradas que não permita que ambas sejam selecionadas ao mesmo tempo.

Dentro de cada elemento da lista, aninhe um elemento label, e, dentro de cada elemento label, aninhe um elemento input com o type apropriado.

--hints--

Você deve aninhar um elemento label dentro do primeiro elemento li.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[0]?.querySelector('label'));

Você deve aninhar um elemento label dentro do segundo elemento li.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[1]?.querySelector('label'));

Você deve aninhar um elemento label dentro do terceiro elemento li.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[2]?.querySelector('label'));

Você deve aninhar um elemento label dentro do quarto elemento li.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[3]?.querySelector('label'));

Você deve aninhar um elemento input dentro do primeiro elemento label.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[0]?.querySelector('label')?.querySelector('input'));

Você deve aninhar um elemento input dentro do segundo elemento label.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[1]?.querySelector('label')?.querySelector('input'));

Você deve aninhar um elemento input dentro do terceiro elemento label.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[2]?.querySelector('label')?.querySelector('input'));

Você deve aninhar um elemento input dentro do quarto elemento label.

assert.exists(document.querySelectorAll('ul.answers-list > li')?.[3]?.querySelector('label')?.querySelector('input'));

Você deve dar ao primeiro input um type de radio.

assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.type, 'radio');

Você deve dar ao segundo input um type de radio.

assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.type, 'radio');

Você deve dar ao terceiro input um type de radio.

assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.type, 'radio');

Você deve dar ao quarto input um type de radio.

assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.type, 'radio');

--seed--

--seed-contents--

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="freeCodeCamp Accessibility Quiz practice project" />
    <title>Accessibility Quiz</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <header>
      <img id="logo" src="https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg">
      <h1>HTML/CSS Quiz</h1>
      <nav>
        <ul>
          <li><a href="#student-info">INFO</a></li>
          <li><a href="#html-questions">HTML</a></li>
          <li><a href="#css-questions">CSS</a></li>
              </ul>
      </nav>
    </header>
    <main>
      <form method="post" action="https://freecodecamp.org/practice-project/accessibility-quiz">
        <section role="region" aria-labelledby="student-info">
          <h2 id="student-info">Student Info</h2>
          <div class="info">
            <label for="student-name">Name:</label>
            <input type="text" name="student-name" id="student-name" />
          </div>
          <div class="info">
            <label for="student-email">Email:</label>
            <input type="email" name="student-email" id="student-email" />
          </div>
          <div class="info">
            <label for="birth-date">D.O.B.<span class="sr-only">(Date of Birth)</span></label>
            <input type="date" name="birth-date" id="birth-date" />
          </div>
        </section>
        <section role="region" aria-labelledby="html-questions">
          <h2 id="html-questions">HTML</h2>
          <div class="question-block">
            <p>1</p>
            <fieldset class="question" name="html-question-one">
              <legend>
                The legend element represents a caption for the content of its
                parent fieldset element
              </legend>
--fcc-editable-region--
              <ul class="answers-list">
                <li></li>
                <li></li>
              </ul>
            </fieldset>
          </div>
          <div class="question-block">
            <p>2</p>
            <fieldset class="question" name="html-question-two">
              <legend>
                A label element nesting an input element is required to have a
                for attribute with the same value as the input's id
              </legend>
              <ul class="answers-list">
                <li></li>
                <li></li>
              </ul>
--fcc-editable-region--
            </fieldset>
          </div>
        </section>
        <section role="region" aria-labelledby="css-questions">
          <h2 id="css-questions">CSS</h2>
        </section>
      </form>
    </main>
  </body>
</html>

body {
  background: #f5f6f7;
    color: #1b1b32;
    font-family: Helvetica;
    margin: 0;
}

header {
  width: 100%;
    height: 50px;
    background-color: #1b1b32;
    display: flex;
}

#logo {
  width: max(100px, 18vw);
    background-color: #0a0a23;
  aspect-ratio: 35 / 4;
    padding: 0.4rem;
}

h1 {
  color: #f1be32;
    font-size: min(5vw, 1.2em);
}

nav {
  width: 50%;
    max-width: 300px;
    height: 50px;
}

nav > ul {
  display: flex;
    justify-content: space-evenly;
}

h1,
h2 {
  font-family: Verdana, Tahoma;
}

h2 {
  border-bottom: 4px solid #dfdfe2;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}