aboutsummaryrefslogtreecommitdiff
path: root/docs/components/input-group.md
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2015-01-03 20:08:58 -0800
committerMark Otto <[email protected]>2015-01-03 20:08:58 -0800
commit0e5d17d5f651a7bd3ff7f245d75a2d9fd591c8ce (patch)
tree69acdd16736989d5fc2af762b26fa372dcfc3521 /docs/components/input-group.md
parent31610258de7a7eeb635103de25f7f339f872d867 (diff)
parent57260f16b364e4cb559cd65159197fd1cf5248f7 (diff)
downloadbootstrap-0e5d17d5f651a7bd3ff7f245d75a2d9fd591c8ce.tar.xz
bootstrap-0e5d17d5f651a7bd3ff7f245d75a2d9fd591c8ce.zip
Merge branch 'master' into v4
Conflicts: Gruntfile.js dist/css/bootstrap-theme.css dist/css/bootstrap-theme.css.map dist/css/bootstrap-theme.min.css dist/css/bootstrap.css dist/css/bootstrap.css.map dist/css/bootstrap.min.css dist/js/bootstrap.min.js docs/_data/glyphicons.yml docs/_includes/components/alerts.html docs/_includes/components/badges.html docs/_includes/components/breadcrumbs.html docs/_includes/components/button-dropdowns.html docs/_includes/components/button-groups.html docs/_includes/components/dropdowns.html docs/_includes/components/glyphicons.html docs/_includes/components/input-groups.html docs/_includes/components/jumbotron.html docs/_includes/components/labels.html docs/_includes/components/list-group.html docs/_includes/components/media.html docs/_includes/components/navbar.html docs/_includes/components/navs.html docs/_includes/components/page-header.html docs/_includes/components/pagination.html docs/_includes/components/panels.html docs/_includes/components/progress-bars.html docs/_includes/components/responsive-embed.html docs/_includes/components/thumbnails.html docs/_includes/components/wells.html docs/_includes/css/buttons.html docs/_includes/css/code.html docs/_includes/css/forms.html docs/_includes/css/grid.html docs/_includes/css/helpers.html docs/_includes/css/images.html docs/_includes/css/less.html docs/_includes/css/tables.html docs/_includes/css/type.html docs/_includes/customizer-variables.html docs/_includes/getting-started/accessibility.html docs/_includes/getting-started/disabling-responsiveness.html docs/_includes/getting-started/download.html docs/_includes/getting-started/whats-included.html docs/_includes/js/alerts.html docs/_includes/js/buttons.html docs/_includes/js/carousel.html docs/_includes/js/collapse.html docs/_includes/js/modal.html docs/_includes/js/overview.html docs/_includes/js/popovers.html docs/_includes/js/tabs.html docs/_includes/js/tooltips.html docs/_includes/nav/components.html docs/_includes/nav/javascript.html docs/_jade/customizer-variables.jade docs/_layouts/default.html docs/about.html docs/assets/css/docs.min.css docs/assets/css/src/docs.css docs/assets/js/customize.min.js docs/assets/js/raw-files.min.js docs/assets/js/src/customizer.js docs/customize.html docs/dist/css/bootstrap-theme.css.map docs/dist/css/bootstrap.css docs/dist/css/bootstrap.css.map docs/dist/css/bootstrap.min.css less/glyphicons.less less/mixins/vendor-prefixes.less less/navbar.less less/popovers.less less/tables.less less/theme.less less/tooltip.less less/variables.less package.json scss/_carousel.scss scss/_close.scss scss/_forms.scss test-infra/npm-shrinkwrap.json
Diffstat (limited to 'docs/components/input-group.md')
-rw-r--r--docs/components/input-group.md55
1 files changed, 30 insertions, 25 deletions
diff --git a/docs/components/input-group.md b/docs/components/input-group.md
index 7da1432c7..fc91ac978 100644
--- a/docs/components/input-group.md
+++ b/docs/components/input-group.md
@@ -17,6 +17,11 @@ Extend form controls by adding text or buttons before, after, or on both sides o
<h4>Don't mix with other components</h4>
<p>Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.</p>
</div>
+<div class="bs-callout bs-callout-warning" id="callout-inputgroup-form-labels">
+ <h4>Always add labels</h4>
+ <p>Screen readers will have trouble with your forms if you don't include a label for every input. For these input groups, ensure that any additional label or functionality is conveyed to assistive technologies.</p>
+ <p>The exact technique to be used (<code>&lt;label&gt;</code> elements hidden using the <code>.sr-only</code> class, or use of the <code>aria-label</code>, <code>aria-labelledby</code>, <code>aria-describedby</code>, <code>title</code> or <code>placeholder</code> attribute) and what additional information will need to be conveyed will vary depending on the exact type of interface widget you're implementing. The examples in this section provide a few suggested, case-specific approaches.</p>
+</div>
## Basic example
@@ -28,18 +33,18 @@ Place one add-on or button on either side of an input. You may also place one on
{% example html %}
<div class="input-group">
- <span class="input-group-addon">@</span>
- <input type="text" class="form-control" placeholder="Username">
+ <span class="input-group-addon" id="basic-addon1">@</span>
+ <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
</div>
<br>
<div class="input-group">
- <input type="text" class="form-control">
- <span class="input-group-addon">.00</span>
+ <input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
+ <span class="input-group-addon" id="basic-addon2">.00</span>
</div>
<br>
<div class="input-group">
<span class="input-group-addon">$</span>
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
<span class="input-group-addon">.00</span>
</div>
{% endexample %}
@@ -50,18 +55,18 @@ Add the relative form sizing classes to the `.input-group` itself and contents w
{% example html %}
<div class="input-group input-group-lg">
- <span class="input-group-addon">@</span>
- <input type="text" class="form-control" placeholder="Username">
+ <span class="input-group-addon" id="sizing-addon1">@</span>
+ <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div>
<br>
<div class="input-group">
- <span class="input-group-addon">@</span>
- <input type="text" class="form-control" placeholder="Username">
+ <span class="input-group-addon" id="sizing-addon2">@</span>
+ <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
</div>
<br>
<div class="input-group input-group-sm">
- <span class="input-group-addon">@</span>
- <input type="text" class="form-control" placeholder="Username">
+ <span class="input-group-addon" id="sizing-addon3">@</span>
+ <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon3">
</div>
{% endexample %}
@@ -74,17 +79,17 @@ Place any checkbox or radio option within an input group's addon instead of text
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">
- <input type="checkbox">
+ <input type="checkbox" aria-label="Checkbox for following text input">
</span>
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Text input with checkbox">
</div>
</div>
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">
- <input type="radio">
+ <input type="radio" aria-label="Radio button for following text input">
</span>
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Text input with radio button">
</div>
</div>
</div>
@@ -101,12 +106,12 @@ Buttons in input groups are a bit different and require one extra level of nesti
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Go!</button>
</span>
- <input type="text" class="form-control">
+ <input type="text" class="form-control" placeholder="Search for...">
</div>
</div>
<div class="col-lg-6">
<div class="input-group">
- <input type="text" class="form-control">
+ <input type="text" class="form-control" placeholder="Search for...">
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Go!</button>
</span>
@@ -131,12 +136,12 @@ Buttons in input groups are a bit different and require one extra level of nesti
<li><a href="#">Separated link</a></li>
</ul>
</div>
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Text input with dropdown button">
</div>
</div>
<div class="col-lg-6">
<div class="input-group">
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Text input with dropdown button">
<div class="input-group-btn">
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
@@ -159,8 +164,8 @@ Buttons in input groups are a bit different and require one extra level of nesti
<div class="col-lg-6">
<div class="input-group">
<div class="input-group-btn">
- <button type="button" class="btn btn-secondary" tabindex="-1">Action</button>
- <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" tabindex="-1" aria-expanded="false">
+ <button type="button" class="btn btn-secondary">Action</button>
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
@@ -171,15 +176,15 @@ Buttons in input groups are a bit different and require one extra level of nesti
<li><a href="#">Separated link</a></li>
</ul>
</div>
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
</div>
</div>
<div class="col-lg-6">
<div class="input-group">
- <input type="text" class="form-control">
+ <input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
<div class="input-group-btn">
- <button type="button" class="btn btn-secondary" tabindex="-1">Action</button>
- <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" tabindex="-1" aria-expanded="false">
+ <button type="button" class="btn btn-secondary">Action</button>
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">