Bootstrap 5.3.8 • Chapter 17 • Responsive LTR + RTL
Button Groups
Every topic includes its own Bootstrap coding example, explanation, ten teaching examples, expected result, practice, and responsive Persian/Arabic checks.
17.1 btn-group
btn-group is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For btn-group in Chapter 17, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test btn-group at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
btn-group is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest lesson page that demonstrates btn-group. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 17, topic 1, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the admin page example for btn-group. Compare the mobile layout with the tablet or desktop layout. Chapter 17, topic 1, example 2.
Example 3: Long translation
Replace a short English label in the booking page with a much longer translated label while using btn-group. Confirm wrapping does not widen the viewport. Chapter 17, topic 1, example 3.
Example 4: Persian test
Translate the course page to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 17, topic 1, example 4.
Example 5: Arabic test
Translate the dashboard to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 17, topic 1, example 5.
Example 6: Accessibility review
Use btn-group in the profile screen and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 17, topic 1, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the checkout. Adjust the Bootstrap structure without hiding meaningful content. Chapter 17, topic 1, example 7.
Example 8: Utility comparison
Rebuild one part of the contact form using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 17, topic 1, example 8.
Example 9: JavaScript-state test
If btn-group uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the article. If not, verify the example works without JavaScript. Chapter 17, topic 1, example 9.
Example 10: Production review
Review btn-group in the settings panel for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 17, topic 1, example 10.
Bootstrap coding example
<div class="btn-group" role="group" aria-label="View"><button class="btn btn-outline-primary">Grid</button><button class="btn btn-outline-primary">List</button></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for btn-group.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates btn-group with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for btn-group from Chapter 17. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
17.2 Vertical Button Groups
Vertical Button Groups is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Vertical Button Groups in Chapter 17, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Vertical Button Groups at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Vertical Button Groups is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest booking page that demonstrates Vertical Button Groups. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 17, topic 2, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the course page example for Vertical Button Groups. Compare the mobile layout with the tablet or desktop layout. Chapter 17, topic 2, example 2.
Example 3: Long translation
Replace a short English label in the dashboard with a much longer translated label while using Vertical Button Groups. Confirm wrapping does not widen the viewport. Chapter 17, topic 2, example 3.
Example 4: Persian test
Translate the profile screen to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 17, topic 2, example 4.
Example 5: Arabic test
Translate the checkout to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 17, topic 2, example 5.
Example 6: Accessibility review
Use Vertical Button Groups in the contact form and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 17, topic 2, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the article. Adjust the Bootstrap structure without hiding meaningful content. Chapter 17, topic 2, example 7.
Example 8: Utility comparison
Rebuild one part of the settings panel using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 17, topic 2, example 8.
Example 9: JavaScript-state test
If Vertical Button Groups uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the gallery. If not, verify the example works without JavaScript. Chapter 17, topic 2, example 9.
Example 10: Production review
Review Vertical Button Groups in the support page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 17, topic 2, example 10.
Bootstrap coding example
<div class="btn-group-vertical" role="group"><button class="btn btn-primary">One</button><button class="btn btn-primary">Two</button></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Vertical Button Groups.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Vertical Button Groups with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Vertical Button Groups from Chapter 17. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
17.3 Button Toolbars
Button Toolbars is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Button Toolbars in Chapter 17, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Button Toolbars at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Button Toolbars is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest dashboard that demonstrates Button Toolbars. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 17, topic 3, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the profile screen example for Button Toolbars. Compare the mobile layout with the tablet or desktop layout. Chapter 17, topic 3, example 2.
Example 3: Long translation
Replace a short English label in the checkout with a much longer translated label while using Button Toolbars. Confirm wrapping does not widen the viewport. Chapter 17, topic 3, example 3.
Example 4: Persian test
Translate the contact form to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 17, topic 3, example 4.
Example 5: Arabic test
Translate the article to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 17, topic 3, example 5.
Example 6: Accessibility review
Use Button Toolbars in the settings panel and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 17, topic 3, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the gallery. Adjust the Bootstrap structure without hiding meaningful content. Chapter 17, topic 3, example 7.
Example 8: Utility comparison
Rebuild one part of the support page using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 17, topic 3, example 8.
Example 9: JavaScript-state test
If Button Toolbars uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the event page. If not, verify the example works without JavaScript. Chapter 17, topic 3, example 9.
Example 10: Production review
Review Button Toolbars in the analytics page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 17, topic 3, example 10.
Bootstrap coding example
<div class="btn-toolbar" role="toolbar"><div class="btn-group me-2"><button class="btn btn-secondary">A</button><button class="btn btn-secondary">B</button></div></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Button Toolbars.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Button Toolbars with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Button Toolbars from Chapter 17. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
17.4 Nested Dropdown Buttons
Nested Dropdown Buttons is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Nested Dropdown Buttons in Chapter 17, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Nested Dropdown Buttons at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Nested Dropdown Buttons is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest checkout that demonstrates Nested Dropdown Buttons. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 17, topic 4, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the contact form example for Nested Dropdown Buttons. Compare the mobile layout with the tablet or desktop layout. Chapter 17, topic 4, example 2.
Example 3: Long translation
Replace a short English label in the article with a much longer translated label while using Nested Dropdown Buttons. Confirm wrapping does not widen the viewport. Chapter 17, topic 4, example 3.
Example 4: Persian test
Translate the settings panel to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 17, topic 4, example 4.
Example 5: Arabic test
Translate the gallery to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 17, topic 4, example 5.
Example 6: Accessibility review
Use Nested Dropdown Buttons in the support page and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 17, topic 4, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the event page. Adjust the Bootstrap structure without hiding meaningful content. Chapter 17, topic 4, example 7.
Example 8: Utility comparison
Rebuild one part of the analytics page using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 17, topic 4, example 8.
Example 9: JavaScript-state test
If Nested Dropdown Buttons uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the account page. If not, verify the example works without JavaScript. Chapter 17, topic 4, example 9.
Example 10: Production review
Review Nested Dropdown Buttons in the lesson page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 17, topic 4, example 10.
Bootstrap coding example
<div class="btn-group"><button class="btn btn-primary">Action</button><button class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"><span class="visually-hidden">Toggle dropdown</span></button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">Option</a></li></ul></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Nested Dropdown Buttons.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Nested Dropdown Buttons with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Nested Dropdown Buttons from Chapter 17. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
17.5 Accessible Button Groups
Accessible Button Groups is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Accessible Button Groups in Chapter 17, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Accessible Button Groups at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Accessible Button Groups is part of Bootstrap 5.3.8 covered in Chapter 17. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest article that demonstrates Accessible Button Groups. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 17, topic 5, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the settings panel example for Accessible Button Groups. Compare the mobile layout with the tablet or desktop layout. Chapter 17, topic 5, example 2.
Example 3: Long translation
Replace a short English label in the gallery with a much longer translated label while using Accessible Button Groups. Confirm wrapping does not widen the viewport. Chapter 17, topic 5, example 3.
Example 4: Persian test
Translate the support page to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 17, topic 5, example 4.
Example 5: Arabic test
Translate the event page to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 17, topic 5, example 5.
Example 6: Accessibility review
Use Accessible Button Groups in the analytics page and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 17, topic 5, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the account page. Adjust the Bootstrap structure without hiding meaningful content. Chapter 17, topic 5, example 7.
Example 8: Utility comparison
Rebuild one part of the lesson page using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 17, topic 5, example 8.
Example 9: JavaScript-state test
If Accessible Button Groups uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the admin page. If not, verify the example works without JavaScript. Chapter 17, topic 5, example 9.
Example 10: Production review
Review Accessible Button Groups in the booking page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 17, topic 5, example 10.
Bootstrap coding example
<div class="btn-group" role="group" aria-label="Text size"><button class="btn btn-outline-dark" aria-pressed="true">Small</button><button class="btn btn-outline-dark">Large</button></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Accessible Button Groups.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Accessible Button Groups with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Accessible Button Groups from Chapter 17. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
Chapter 17 review — 10 questions and answers
1. What should you inspect when btn-group does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in btn-group. Then inspect computed styles to see which declaration wins.
2. How should btn-group be tested before publishing?
Answer: Test btn-group on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
3. What should you inspect when Vertical Button Groups does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Vertical Button Groups. Then inspect computed styles to see which declaration wins.
4. How should Vertical Button Groups be tested before publishing?
Answer: Test Vertical Button Groups on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
5. What should you inspect when Button Toolbars does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Button Toolbars. Then inspect computed styles to see which declaration wins.
6. How should Button Toolbars be tested before publishing?
Answer: Test Button Toolbars on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
7. What should you inspect when Nested Dropdown Buttons does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Nested Dropdown Buttons. Then inspect computed styles to see which declaration wins.
8. How should Nested Dropdown Buttons be tested before publishing?
Answer: Test Nested Dropdown Buttons on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
9. What should you inspect when Accessible Button Groups does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Accessible Button Groups. Then inspect computed styles to see which declaration wins.
10. How should Accessible Button Groups be tested before publishing?
Answer: Test Accessible Button Groups on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.