All Practice Exams

100+ Free Acquia FE Specialist (D10) Practice Questions

Pass your Acquia Certified Front End Specialist - Drupal 10 exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

A front-end developer is creating a new custom theme for Drupal 10 named 'mytheme'. Which file is REQUIRED at the root of the theme for Drupal to recognize it?

A
B
C
D
to track
2026 Statistics

Key Facts: Acquia FE Specialist (D10) Exam

60 Q

Scenario Questions

Acquia

75 min

Exam Duration

Acquia

65%

Passing Score

Acquia

$250

Exam Fee

Acquia / Kryterion

Drupal 10

Version Tested

Acquia study guide

WCAG 2.1

Accessibility Std

Olivero baseline

The Acquia Certified Front End Specialist - Drupal 10 exam has 60 scenario-based questions in 75 minutes with a 65% passing score. It tests theme structure (.info.yml, libraries.yml, breakpoints.yml, regions), Twig templating and debugging, theme suggestions (page--front, node--article--teaser), preprocess hooks, render arrays and BigPipe, libraries.yml dependencies, Drupal Behaviors with core/once, Single-Directory Components (Drupal 10.1+), CSS architecture (BEM/SMACSS), Olivero/Claro/Stable9, Layout Builder, responsive images, and WCAG 2.1 AA accessibility.

Sample Acquia FE Specialist (D10) Practice Questions

Try these sample questions to test your Acquia FE Specialist (D10) exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1A front-end developer is creating a new custom theme for Drupal 10 named 'mytheme'. Which file is REQUIRED at the root of the theme for Drupal to recognize it?
A.mytheme.theme
B.mytheme.libraries.yml
C.mytheme.info.yml
D.mytheme.module
Explanation: Every Drupal 10 theme must have a {themename}.info.yml file at the theme root. This YAML file declares the theme's name, type (theme), core_version_requirement, regions, libraries, and base theme. Without it, Drupal cannot detect or enable the theme on the Appearance page.
2Which key in a Drupal 10 theme's .info.yml file declares the minimum Drupal core version the theme is compatible with?
A.core
B.core_version_requirement
C.drupal_version
D.version_compatibility
Explanation: Drupal 10 themes use 'core_version_requirement: ^10' (or '^9 || ^10') in the .info.yml file. The legacy 'core: 8.x' key was removed in Drupal 9 and is no longer valid. Without core_version_requirement, the theme will not install on Drupal 10.
3A developer wants their custom theme 'corporate' to inherit from Olivero. Which line should be added to corporate.info.yml?
A.extends: olivero
B.parent: olivero
C.base theme: olivero
D.inherits: olivero
Explanation: The correct key is 'base theme: olivero' in the .info.yml file (note the space, not an underscore). This declares the parent theme. The sub-theme inherits all regions, libraries, templates, and settings from Olivero, which can then be selectively overridden.
4Which statement about Stable9 in Drupal 10 is correct?
A.Stable9 is the default base theme for all new Drupal 10 themes
B.Stable9 must be explicitly declared as a base theme to inherit its minimal markup
C.Stable9 is a theme designer aesthetic theme replacing Bartik
D.Stable9 was removed in Drupal 10 and replaced by Olivero
Explanation: In Drupal 10, themes do NOT automatically use Stable9 as their base theme. If you want the minimal, locked-down core markup that won't change between minor versions, you must explicitly add 'base theme: stable9' to your .info.yml. If no base theme is declared, the theme uses core's default unmoderated templates.
5Which two themes are included with Drupal 10 core as the default front-end and admin themes?
A.Bartik (front-end) and Seven (admin)
B.Olivero (front-end) and Claro (admin)
C.Stark (front-end) and Stable9 (admin)
D.Umami (front-end) and Gin (admin)
Explanation: Drupal 10 ships with Olivero as the default front-end theme and Claro as the default administration theme. Both replaced the older Bartik and Seven themes. Olivero is built with accessibility-first principles (WCAG 2.1 AA), and Claro modernizes the admin UI.
6A theme's .info.yml contains: 'regions: { header: Header, content: Content, sidebar_first: First sidebar, footer: Footer }'. A developer adds a new 'breadcrumb' region to page.html.twig but it never renders. What is the most likely cause?
A.The region must be added to the .libraries.yml file
B.The region was not declared in the regions list of the .info.yml
C.Twig auto-escape is hiding the region
D.The region must be enabled in the Performance settings
Explanation: Regions must be declared in the theme's .info.yml file under the 'regions:' key. Adding {{ page.breadcrumb }} to page.html.twig alone is not enough — Drupal will not render the region, and you cannot place blocks into it through the Block Layout UI, until it is registered in info.yml.
7In Drupal 10, where should a theme's compiled CSS files typically be stored within the theme folder structure?
A.css/ directory at the theme root
B.assets/build/ directory only
C.templates/css/ directory
D.Anywhere — Drupal scans the entire theme for CSS
Explanation: Convention is to place compiled CSS in a 'css/' directory at the theme root, with source SCSS in 'scss/' or 'src/'. The actual path is arbitrary as long as it is referenced in the .libraries.yml file. Drupal does NOT auto-discover CSS — every file must be declared in a library.
8Which file controls breakpoint definitions for Responsive Image styles in a Drupal 10 theme?
A.{theme}.responsive.yml
B.{theme}.breakpoints.yml
C.{theme}.media.yml
D.{theme}.viewport.yml
Explanation: The {themename}.breakpoints.yml file defines named breakpoints (e.g., narrow, wide) with media queries and multipliers. The Responsive Image module reads this file to generate srcset attributes for picture/img elements. Each breakpoint needs label, mediaQuery, weight, and group keys.
9A developer needs to render a node's title in a Twig template. Which syntax is correct?
A.<?= $node->title ?>
B.{{ node.title }}
C.{% node.title %}
D.{# node.title #}
Explanation: Twig uses {{ ... }} (double curly braces) to print expressions. {{ node.title }} prints the node's title. {% ... %} is for control structures (if, for, set), and {# ... #} is for comments. PHP short tags are not used in Twig.
10Which Twig filter translates a string for the active language in Drupal?
A.|translate
B.|i18n
C.|t
D.|tr
Explanation: The |t filter calls Drupal's translation system: {{ 'Read more'|t }}. The string is registered for translation and replaced with the user's active language version if available. Use this for any UI text in Twig templates.

About the Acquia FE Specialist (D10) Exam

The Acquia Certified Front End Specialist - Drupal 10 exam validates skills in Drupal 10 theming, Twig templating, asset management, accessibility, and front-end performance. It is scenario-driven and tests practical knowledge of theme structure (.info.yml, libraries.yml, breakpoints.yml), Twig syntax and debugging, theme suggestions, preprocess functions, render arrays, Single-Directory Components (SDC), Olivero, Claro, Stable9, Layout Builder, and WCAG 2.1 accessibility.

Questions

60 scored questions

Time Limit

75 minutes

Passing Score

65%

Exam Fee

$250 (Acquia / Webassessor (Kryterion))

Acquia FE Specialist (D10) Exam Content Outline

~25%

Theme Structure & Sub-Themes

{theme}.info.yml, {theme}.theme, {theme}.libraries.yml, {theme}.breakpoints.yml, regions (header, primary_menu, content, sidebar_first, footer), base theme inheritance, Stable9, Olivero, Claro, theme registry, theme negotiation

~30%

Twig Templating & Preprocess

Twig syntax ({{ }}, {% %}, {# #}), filters (|t, |format_date, |raw, |without, |slice), functions (attach_library, file_url, dump), debugging via twig.debug, theme suggestions (page--front.html.twig, node--article.html.twig), template_preprocess_HOOK, hook_theme_suggestions_HOOK_alter, embed vs include

~20%

Render Arrays & Libraries

#type, #theme, #attributes, #cache (keys, contexts, tags, max-age), libraries.yml (CSS SMACSS buckets, JS scope, dependencies, external assets, drupalSettings), BigPipe, Internal Page Cache, Dynamic Page Cache, attach_library, core/once, Drupal.behaviors

~15%

CSS Architecture & Responsive Design

BEM, SMACSS (base/layout/component/state/theme), OOCSS, ITCSS, CSS Logical Properties, container queries, :focus-visible, breakpoints.yml, Responsive Image module, <picture>/srcset, Image Styles vs Responsive Image Styles, Layout Builder sections and inline blocks

~10%

Accessibility & Components

WCAG 2.1 AA contrast (4.5:1), ARIA landmarks (aria-label, aria-expanded, aria-controls), keyboard navigation, skip links, semantic HTML, axe-core testing, Single-Directory Components ({component}.component.yml, props, slots), Storybook integration, Quick Edit, Display Suite, view modes

How to Pass the Acquia FE Specialist (D10) Exam

What You Need to Know

  • Passing score: 65%
  • Exam length: 60 questions
  • Time limit: 75 minutes
  • Exam fee: $250

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

Acquia FE Specialist (D10) Study Tips from Top Performers

1Master {theme}.info.yml — required keys (name, type, core_version_requirement, base theme, regions, libraries) and optional theme settings
2Memorize libraries.yml structure — css buckets (base/layout/component/state/theme), js scope (header/footer), dependencies (core/jquery, core/once, core/drupalSettings), and external asset declarations
3Know theme suggestion order from least to most specific (node, node--{bundle}, node--{view_mode}, node--{bundle}--{view_mode}, node--{nid}) and hook_theme_suggestions_HOOK_alter()
4Practice Twig syntax: {{ }} for output, {% %} for control flow, {# #} for comments, common filters (|t, |format_date, |raw, |without, |slice), and functions (attach_library, file_url, url, path)
5Understand render array #cache (keys, contexts, tags, max-age), BigPipe, Internal Page Cache vs Dynamic Page Cache, and how cache tags like 'node:42' invalidate output when entities change

Frequently Asked Questions

What is the Acquia Certified Front End Specialist - Drupal 10 exam?

The Acquia FE D10 exam validates skills in Drupal 10 theming, Twig templating, libraries, render arrays, Single-Directory Components, accessibility, and front-end performance. It contains roughly 60 scenario-based multiple-choice questions in 75 minutes with a 65% passing score, delivered through Webassessor (Kryterion) online or at testing centers.

What is the difference between Stable9 and Olivero?

Stable9 is a minimal, opinion-free base theme with locked-down core markup that doesn't change between minor versions; sub-themes opt in by declaring 'base theme: stable9' in .info.yml. Olivero is the default front-end theme of Drupal 10, designed with WCAG 2.1 AA accessibility in mind and using BEM CSS naming. Drupal 10 themes have NO automatic base theme — Stable9 must be explicitly declared.

How do Twig template suggestions work in Drupal 10?

Drupal builds a list of suggestions from least to most specific (e.g., for an article node teaser: node, node--article, node--teaser, node--article--teaser, node--{nid}, node--{nid}--teaser). The most specific available file in the theme's templates/ directory wins. Enable twig.debug in services.yml to see HTML comments listing every suggestion and the active template. Custom suggestions can be added via hook_theme_suggestions_HOOK_alter().

What is a Single-Directory Component (SDC)?

SDC, stable since Drupal 10.1, lets modules and themes ship co-located components in a single folder containing {name}.component.yml (declares props and slots), {name}.twig (template), {name}.css, and {name}.js. Components are includable via Twig's namespace syntax: {% include 'mytheme:card' with { title: 'Hello' } %}. SDC integrates with Storybook through the contrib Storybook module.

What does BigPipe do in Drupal 10?

BigPipe (in core, enabled by default) sends the cacheable page shell immediately, then streams personalized fragments (e.g., 'Hello, John', cart count, shopping cart contents) as they finish rendering. This dramatically improves perceived performance for authenticated users without breaking caching. It works with Drupal's Internal Dynamic Page Cache by replacing #cache uncacheable placeholders with streamed content.