Social Media Button
Icon-only buttons for social media actions and sharing.
Ready to use
The Social Media Button component provides direct links to official brand social media channels and app store platforms. It is primarily used in the footer, where it lets users navigate to platforms such as YouTube, Facebook, Instagram, LinkedIn, X (Twitter), TikTok, the App Store, and Google Play. The buttons are preconfigured and managed via the AEM “Header and Footer” template — icons are not editable by AEM authors but can be reordered through the configuration dialog.
Anatomy
Section titled “Anatomy”- Social media button
- Brand icon
When to use it
Section titled “When to use it”Use Social Media Buttons when:
- You need to display social media or app store links consistently across pages.
- You’re reinforcing brand presence through verified, official channels.
- Global consistency matters — the component ships with preloaded icons for every official network.
Avoid Social Media Buttons when:
- The link points to a temporary campaign or unverified third-party content.
- You’re building an in-page share or “follow us” module outside the footer context — use buttons or links instead.
Properties
Section titled “Properties”Size
Two sizes: Small (32×32) for compact footers and Large (40×40) for more prominent placements. Both keep the icon centred and respect the 1 px border at rest.
State
Rested, Hover, Active, Disabled, and Focus. Focus uses a 2 px ring around the square container so keyboard users see a clear outline at any size.
Brand icon
The icon set is fixed — YouTube, Facebook, Instagram, LinkedIn, X, TikTok, App Store, Google Play. All icons are SVG-based and optimised for crisp rendering on both light and dark backgrounds; they must not be recoloured or modified.
Mode
Toyota and Lexus brand modes resolve automatically based on the active data-brand. The structural layout and behaviour stay identical between modes.
Platform considerations
Section titled “Platform considerations”Desktop
Buttons sit in a single row inside the footer. Keep spacing consistent with surrounding footer elements so the visual rhythm stays predictable.
Tablet
Same row layout, with the same spacing tokens. The small size remains comfortable to tap because the 1 px border doesn’t shrink the actual hit area.
Mobile
Prefer the larger 40×40 size on mobile footers to keep buttons within the 44×44 recommended touch area. Keep generous padding around the row so users don’t tap an adjacent icon by mistake.
Best practices
Section titled “Best practices”Treat these buttons as fixed brand chrome, not as freeform marketing links.
Do
Use only the official brand icons that ship with the component, keep spacing consistent with surrounding footer elements, and write clear aria-label values such as “Follow us on YouTube” so screen readers announce the destination.
Don't
Don’t recolour or modify the brand icons, don’t repurpose the component outside the footer, and don’t drop the focus ring — keyboard users rely on it for the otherwise borderless rested state.
Content guidelines
Section titled “Content guidelines”The button is icon-only, so the accessible name does all the work. Use a short, descriptive aria-label that names the destination — “Follow us on YouTube”, “Download from the App Store” — and keep the wording consistent across markets so the announcement stays predictable.
Styles
Section titled “Styles”Icon-only buttons for social media actions and sharing.
The default size is sm.
<button class="tng-social-media-button is-sm" aria-label="Share on Facebook"> <i class="tng-icon icon-facebook" aria-hidden="true"></i></button><button class="tng-social-media-button is-lg" aria-label="Share on YouTube"> <i class="tng-icon icon-youtube" aria-hidden="true"></i></button>States
Section titled “States”<button class="tng-social-media-button" disabled aria-label="Share on YouTube"> <i class="tng-icon icon-youtube" aria-hidden="true"></i></button>A social-media button is an icon-only control that takes the user to an official brand profile or app-store listing — so its accessibility rests almost entirely on the accessible name. The brand glyph carries no text, which means assistive technology has nothing to announce unless the control is named for both the platform and its purpose (“Follow us on YouTube”, “Toyota on Instagram” — never a bare “Instagram”), and the icon itself is hidden from the accessibility tree. Get the name and the element right and the component meets WCAG 2.1 AA: it works the same whether the user sees the icon, hears the name, or reaches it from the keyboard.
For designers
Section titled “For designers”- The icon and its square container must maintain accessible contrast against every footer and surface it sits on, at rest and in hover, focus, active, and disabled states. Source: WCAG 1.4.3 Contrast (Minimum).
- The disabled state must never be signalled by colour or reduced opacity alone — pair it with the native
disabledsemantics so it is perceivable without seeing the fade. Source: WCAG 1.4.1 Use of Color. - The focus ring must stay visible on every supported surface and be clearly distinguishable from hover — at rest the button is borderless, so keyboard users depend on it entirely. Source: WCAG 2.4.7 Focus Visible.
- Use semantic colour tokens (e.g.
foreground/neutral/default) rather than fixed values, so the button adapts correctly across brands, themes, and surfaces. - Keep the interactive target comfortable to hit: the 1 px border and the small 32 × 32 size must not shrink the actual tap area — the minimum target is covered under For developers.
For developers
Section titled “For developers”The styleguide ships the control as a native <button class="tng-social-media-button"> with the brand glyph nested inside. Match the element to the action: keep the <button> when it triggers an in-page share, but use an <a> (same class) when it navigates to an external profile or store listing, so assistive technology announces the correct link-vs-button role. Because the control is icon-only, its accessible name comes entirely from an aria-label and the glyph is hidden — the exact wiring is in the Labelling elements section below. When the destination opens in a new tab, say so in the accessible name and pair target="_blank" with rel="noopener noreferrer". Interactive targets must be at least 44 px for comfortable touch use — prefer the large 40 × 40 size on touch surfaces and keep generous spacing so an adjacent icon isn’t tapped by mistake. Source: WCAG 2.5.8 Target Size (Minimum).
Labelling elements
Section titled “Labelling elements”Give every element the role, name, and state assistive technology needs.
Link / Button
Use <a> for navigation to a profile or store, <button> for a share action — the element sets the role. Name it with aria-label that identifies both the platform and the purpose (e.g. "Follow us on YouTube", "Toyota on Instagram"), never the platform alone and never left to the icon. If it opens a new tab, include that in the name (e.g. "Follow us on YouTube (opens in a new tab)").
Icon
The brand glyph is decorative once the control is named — mark it aria-hidden="true" so it stays out of the accessibility tree and isn’t announced as a separate, unnamed node.
Source: WCAG 4.1.2 Name, Role, Value.