0
0
Bootsrapmarkup~20 mins

Accordion component in Bootsrap - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Accordion Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does the Bootstrap Accordion component manage which panel is open?
In Bootstrap's Accordion component, how is it ensured that only one panel is open at a time?
ABy using the <code>data-bs-parent</code> attribute to link all accordion items to the same parent container.
BBy adding the <code>active</code> class to the open panel manually in JavaScript.
CBy setting the <code>aria-expanded</code> attribute to true on all panels.
DBy using CSS <code>:hover</code> selectors to show and hide panels.
Attempts:
2 left
💡 Hint
Think about how Bootstrap knows which panel to close when another opens.
📝 Syntax
intermediate
2:00remaining
Identify the correct HTML structure for a Bootstrap Accordion item
Which option shows the correct HTML structure for a single item inside a Bootstrap Accordion?
A
&lt;div class="accordion-item"&gt;
  &lt;h2 class="accordion-header" id="headingOne"&gt;
    &lt;button class="accordion-button" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"&gt;
      Accordion Item #1
    &lt;/button&gt;
  &lt;/h2&gt;
  &lt;div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample"&gt;
    &lt;div class="accordion-body"&gt;
      Content for item 1.
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
B
&lt;div class="accordion-item"&gt;
  &lt;button class="accordion-header" id="headingOne"&gt;
    &lt;h2 class="accordion-button" data-bs-toggle="collapse" data-bs-target="#collapseOne"&gt;
      Accordion Item #1
    &lt;/h2&gt;
  &lt;/button&gt;
  &lt;div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne"&gt;
    &lt;div class="accordion-body"&gt;
      Content for item 1.
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
C
&lt;div class="accordion-item"&gt;
  &lt;h2 class="accordion-header" id="headingOne"&gt;
    &lt;button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"&gt;
      Accordion Item #1
    &lt;/button&gt;
  &lt;/h2&gt;
  &lt;div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample"&gt;
    &lt;div class="accordion-body"&gt;
      Content for item 1.
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
D
&lt;div class="accordion-item"&gt;
  &lt;h2 class="accordion-header" id="headingOne"&gt;
    &lt;button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"&gt;
      Accordion Item #1
    &lt;/button&gt;
  &lt;/h2&gt;
  &lt;div id="collapseOne" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#accordionExample"&gt;
    &lt;div class="accordion-body"&gt;
      Content for item 1.
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
Attempts:
2 left
💡 Hint
Check the attributes and element order carefully.
rendering
advanced
2:00remaining
What will be the visual result of this Accordion code snippet?
Given this Bootstrap Accordion snippet, what will the user see when the page loads?
Bootsrap
<div class="accordion" id="accordionExample">
  <div class="accordion-item">
    <h2 class="accordion-header" id="headingOne">
      <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
        Item 1
      </button>
    </h2>
    <div id="collapseOne" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
      <div class="accordion-body">
        Content 1
      </div>
    </div>
  </div>
  <div class="accordion-item">
    <h2 class="accordion-header" id="headingTwo">
      <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
        Item 2
      </button>
    </h2>
    <div id="collapseTwo" class="accordion-collapse collapse show" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">
      <div class="accordion-body">
        Content 2
      </div>
    </div>
  </div>
</div>
AThe second accordion item is open showing 'Content 2', the first is closed.
BBoth accordion items are open showing 'Content 1' and 'Content 2'.
CBoth accordion items are closed, no content is visible.
DThe first accordion item is open showing 'Content 1', the second is closed.
Attempts:
2 left
💡 Hint
Look for the show class and aria-expanded values.
selector
advanced
2:00remaining
Which CSS selector targets only the open accordion panels?
You want to style only the open panels of a Bootstrap Accordion. Which CSS selector will select only the visible content panels?
A.accordion-collapse.collapse
B.accordion-item > .accordion-header
C.accordion-button[aria-expanded="false"]
D.accordion-collapse.collapse.show
Attempts:
2 left
💡 Hint
Open panels have a special class added by Bootstrap.
accessibility
expert
2:00remaining
What is the role of ARIA attributes in Bootstrap Accordion buttons?
Bootstrap Accordion buttons use ARIA attributes like aria-expanded and aria-controls. What is their main purpose?
AThey prevent keyboard users from interacting with the accordion buttons.
BThey provide screen readers information about the button state and which content it controls, improving accessibility.
CThey enable Bootstrap's JavaScript to toggle the accordion panels automatically.
DThey are used only for styling the button when it is expanded or collapsed.
Attempts:
2 left
💡 Hint
Think about users who rely on assistive technologies.