Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep each directory entry as a normal, named link, then reveal a nearby preview when it is hovered or receives keyboard focus. Make the preview stay open as the pointer moves onto it, allow dismissal with Escape, and provide a touch-friendly way to reveal it. For a static thumbnail preview, CSS can be enough; use JavaScript when you need controlled dismissal, timing, or positioning.

Build the directory entry around a real link

The preview is supplementary; it should not be required to identify or open the destination. Put a visible name and thumbnail inside an ordinary anchor, and place the preview card next to that trigger. Reuse the thumbnail rather than loading the destination as a live page.

<ul class="directory">
  <li class="directory-item">
    <a class="site-link" href="https://example.com">
      <img src="/images/example-thumb.webp" alt="" width="96" height="60">
      <span>Example site</span>
    </a>
    <div class="preview">
      <img src="/images/example-thumb.webp" alt="" width="320" height="200">
      <p>A short description of the site.</p>
    </div>
  </li>
</ul>

The empty alt attributes are appropriate here because the visible link text names the destination and the preview repeats the same visual information. If the thumbnail conveys information not present in the link text, provide a concise alternative text instead.

Show a simple preview with CSS

For a non-interactive card, CSS can reveal it on hover and keyboard focus. The preview is a descendant of the list item so the pointer can travel from the link onto the card without leaving the hover region.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
.directory-item {
  position: relative;
}

.preview {
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 0;
  width: min(20rem, 90vw);
  padding: 0.75rem;
  background: white;
  border: 1px solid #bbb;
  box-shadow: 0 0.25rem 1rem rgb(0 0 0 / 18%);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.preview img {
  display: block;
  width: 100%;
  height: auto;
}

.directory-item:hover .preview,
.directory-item:focus-within .preview {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.site-link:focus-visible {
  outline: 3px solid #145bd7;
  outline-offset: 3px;
}

:focus-within exposes the card while a keyboard user focuses the link. Because the preview is inside the hovered item, moving the pointer into the card keeps it visible. This CSS version does not provide an Escape-to-dismiss control; if dismissal without moving the pointer or focus is required, use a script-managed state or a suitable Popover API implementation. W3C Technique SCR39 gives link previews as an example of content shown on hover or focus and describes Escape dismissal: W3C Technique SCR39.

Meet hover, focus, touch, and dismissal needs

WCAG 2.2 Success Criterion 1.4.13 covers additional content that appears with hover or keyboard focus, including custom tooltips and other nonmodal popups. The content should be dismissible, hoverable, and persistent: users need time to read it, must be able to move the pointer over it, and need a way to dismiss it without moving pointer or focus away from its trigger. See the W3C explanation of Content on Hover or Focus.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

W3C’s SCR39 example says: “When hovering over or focusing on a link, a content preview for the link appears just above or below that link.” That is an example in the technique, not normative wording from the success criterion.

  • Keyboard: reveal the same content on focus as on pointer hover. Preserve an obvious focus indicator.
  • Pointer: keep the trigger and preview within one hoverable region; do not close the card as soon as the pointer leaves the anchor.
  • Touch: do not depend on hover. MDN notes that :hover may not match on some touchscreens, may match only briefly, or may remain matched until another touch. Ensure the link remains usable without the preview, and provide a deliberate touch activation if the preview itself must be available. See MDN’s :hover reference.
  • Dismissal: with script-managed open state, support Escape and restore focus appropriately. A purely decorative card should not contain controls that unexpectedly enter the tab order.

If the preview needs buttons or other interactive controls, it is no longer just a decorative tooltip-like preview. Choose semantics and focus behavior for that interaction instead of copying a simple content-preview pattern.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Choose CSS, JavaScript, Popover, or a live page deliberately

Approach Best suited to Trade-offs
CSS hover and focus selectors A static card that can stay in the same hover/focus structure as its link Simple, but controlled Escape dismissal, timing, and collision-aware placement need more than basic selectors.
JavaScript-managed state Explicit open/close behavior, Escape handling, delays, or placement adjustments More control means more state and interaction cases to implement and test.
Popover API and interest invokers Non-modal overlays and declarative hover, focus, or long-press behavior in browsers supporting the particular features Check support for the exact interest-invoker behavior among your target browsers; general Popover API support does not guarantee uniform support for every related feature.
Live iframe A preview that genuinely must render the destination page Each iframe adds memory and other computing resources; loading many remote pages can be costly for a directory.

The Popover API can place non-modal content above other page content. An associated invoker can also improve keyboard focus sequence and expose implicit accessibility relationships. MDN describes declarative hover, focus, and long-press behavior in its interest-invoker guide; verify support for the specific feature you rely on and retain a fallback if your audience includes browsers without it.

For a live iframe, defer loading until a visitor requests it or otherwise limit active frames, then test with the directory size and devices you expect to support. This is a prudent implementation response to per-iframe resource cost, not a threshold established by a benchmark. MDN advises checking for performance problems and explains iframe resource use in its iframe reference.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Or skip the browser setup

If your immediate task is generating the thumbnail image files for the directory, ScreenshotNeo can return a screenshot with one request. This does not replace the HTML, CSS, keyboard, or touch behavior above: it creates the image assets your cards can display.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

See the ScreenshotNeo API documentation for request options. ScreenshotNeo accepts cookie or consent banners as a visitor and removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response identifies the page verdict and billing status in headers. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Learn about ScreenshotNeo and sign up for 1,000 free screenshots a month, no card required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common preview failures

  • The card disappears when moving the pointer to it: place the card inside the same hover region as the trigger, or manage open state so pointer travel into the card does not close it.
  • Keyboard users cannot see the preview: add a focus-triggered state such as :focus-within or an equivalent script state, and keep a visible focus indicator.
  • Touch visitors cannot open it: hover is not dependable on touchscreens. Make the link useful on its own and add a deliberate activation path if the preview is essential.
  • The card is cut off or obscured: inspect ancestor overflow and stacking contexts. For overlays that must escape clipping, consider a supported Popover implementation or script-managed placement, with a fallback for unsupported target browsers.
  • The directory becomes slow with live previews: replace eager iframes with thumbnail images, or load live frames only on request and evaluate performance on the devices and directory sizes you expect.
  • Escape does nothing: CSS-only visibility has no script-managed dismissal state. Add a keyboard handler and explicit open/close state, or use a suitable browser-managed popover interaction.

Frequently Asked Questions

Does the preview have to open the linked website?

No. A thumbnail and brief description are usually enough for a content preview; use a live iframe only when rendering the destination itself is necessary.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Does WCAG require one particular preview design?

The cited WCAG criterion specifies behavior for additional hover- or focus-triggered content—dismissible, hoverable, and persistent—not a single implementation technique.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.