New Block Support: Text Indent (textIndent) ![rw-book-cover](https://s.w.org/images/home/wordpress-default-ogimage.png) > [!note]+ Document Notes > --- > tags: #wordpress #block-editor #typography #developer > author: Aaron Robertshaw > source: Make WordPress Core > reference: https://make.wordpress.org/core/2026/03/15/new-block-support-text-indent-textindent/ > date created: 2024-12-28 21:30 > --- > # ๐Ÿท๏ธ Title: New Block Support: Text Indent (textIndent) > ## ๐Ÿงฐ Action Inbox > - [H1] Update theme.json to enable textIndent support for WordPress 7.0 compatibility โ€” new feature rollout #wordpress > - [H2] Test paragraph indentation behavior in RTL languages โ€” accessibility consideration #typography > - [H3] Review block supports for third-party blocks that could benefit from textIndent โ€” developer experience #block-editor > ## ๐Ÿงญ Table of Contents > - [[#๐Ÿ“ Summary]] > - [[#๐Ÿ“– Main Content]] > - [[#๐Ÿ—’๏ธ Notes]] > - [[#๐Ÿ“š References]] > - [[#๐Ÿ—ฃ๏ธ Paraphrase]] > - [[#๐Ÿ“ฐ Newsletter]] > - [[#โœ… Action Items]] > - [[#๐Ÿงช Hypotheses]] > - [[#๐Ÿ“Š Methodology]] > - [[#โ“ Questions]] > - [[#๐Ÿ”ฎ Future Research]] > - [[#๐Ÿ’ก Implications]] > - [[#๐Ÿง  Learning Styles Assessment]] > - [[#๐Ÿ“Š Accessibility Assessment]] > - [[#๐ŸŒ DEIB Assessment]] > - [[#โœ… Logical Validity]] > - [[#๐Ÿ›ก๏ธ DARVO Analysis]] > - [[#๐ŸŽฏ Conclusion]] > ### ๐Ÿ”— References > - [GitHub Issue #37462](https://github.com/WordPress/gutenberg/issues/37462) > - [Implementing PR #74889](https://github.com/WordPress/gutenberg/pull/74889) > ## ๐Ÿ“ Summary > - WordPress 7.0 introduces native text indent support for blocks through a new textIndent block support > - The Paragraph block is the first core block to implement this feature, addressing a highly requested typography need since 2021 > - Key stakeholders include theme developers, content creators, and users publishing long-form content > - Risk: Third-party blocks have limited selector behavior compared to core Paragraph block > - Bottom line: Native text indentation eliminates need for custom CSS while respecting different typographic conventions > ## ๐Ÿ“– Main Content > WordPress 7.0 introduces a new `textIndent` block support that allows blocks to opt into native CSS text-indent functionality. This addresses one of the most requested typography features since 2021, eliminating the need for custom CSS solutions. > The feature works through WordPress's established block supports pattern. Blocks declare support in their `block.json` file, which then exposes typography controls in the editor and serializes the style as standard CSS. > A unique aspect of this implementation is the consideration of different typographic conventions. In English and other LTR languages, typically only subsequent paragraphs are indented, while the first paragraph remains flush. However, in RTL languages like Arabic and Hebrew, all paragraphs are commonly indented. The new support accommodates both conventions through a global setting. > The implementation uses CSS selectors to control behavior: `.wp-block-paragraph + .wp-block-paragraph` for subsequent-only indentation (default) and `.wp-block-paragraph` for all-paragraph indentation. This selector logic is currently specific to the core Paragraph block. > ## ๐Ÿ—’๏ธ Notes > #### Article Structure โ€” [H1] Core feature introduction > - Key idea: WordPress 7.0 adds native text indent support for blocks > - Evidence: "WordPress 7.0 introduces a new textIndent block support for typography, allowing blocks to opt in to text-indent CSS support" > #### Background Context โ€” [H2] User demand justification > - Key idea: Text indentation has been highly requested since 2021 > - Evidence: "It has been one of the most-requested typography features for WordPress blocks since 2021 (#37462)" > #### Technical Implementation โ€” [H1] Block support declaration > - Key idea: Blocks opt in through standard block.json supports pattern > - Evidence: Blocks declare `"supports": { "typography": { "textIndent": true } }` > #### UI Integration โ€” [H2] Editor interface updates > - Key idea: New typography control appears in block sidebar when enabled > - Evidence: "the block editor will show a Line Indent control in the Typography panel of the block sidebar" > #### Paragraph-Specific Logic โ€” [H1] Typographic convention handling > - Key idea: Different languages have different paragraph indentation conventions > - Evidence: "in traditional typographic conventions of English and some other left-to-right (LTR) languages, only subsequent paragraphs...are typically indented" > #### CSS Selector Strategy โ€” [H2] Technical implementation details > - Key idea: CSS selectors control which paragraphs receive indentation > - Evidence: Two modes use different selectors - adjacent sibling for subsequent, general class for all > #### Global Settings โ€” [H2] Theme and site configuration > - Key idea: Typography settings control paragraph indentation behavior globally > - Evidence: "an 'Indent all paragraphs' toggle lets authors switch between the two modes interactively" > #### Theme Integration โ€” [H3] Developer configuration options > - Key idea: Themes can enable and configure defaults through theme.json > - Evidence: Multiple configuration examples provided for enabling and setting default values > #### Backward Compatibility โ€” [H3] No breaking changes > - Key idea: Feature is entirely opt-in with no impact on existing blocks > - Evidence: "No existing block behaviour changes unless a block explicitly declares 'textIndent': true" > ## ๐Ÿ“š References > - [GitHub Issue #37462](https://github.com/WordPress/gutenberg/issues/37462) > - [Implementing PR #74889](https://github.com/WordPress/gutenberg/pull/74889) > - [WordPress Block Editor Handbook](https://developer.wordpress.org/block-editor/) > ## ๐Ÿ—ฃ๏ธ Paraphrase > - WordPress 7.0 adds built-in text indentation for blocks, eliminating the need for custom CSS solutions > - The feature respects different cultural typography conventions by offering modes for subsequent-only or all-paragraph indentation > - Implementation follows WordPress's standard block supports pattern, making it familiar to developers already working with typography features > ## ๐Ÿ“ฐ Newsletter > **WordPress 7.0 Brings Native Text Indentation to Blocks** > Great news for publishers and content creators! WordPress 7.0 introduces native text indent support, finally addressing one of the most requested typography features since 2021. > **Key Benefits:** > - No more custom CSS needed for paragraph indentation > - Respects different cultural typography conventions (LTR vs RTL) > - Seamless integration with existing typography controls > **For Developers:** > The new `textIndent` block support follows the familiar pattern of other typography features. Simply add it to your block's supports in `block.json` and the editor handles the rest. > **Getting Started:** > Theme developers can enable this in `theme.json`, and it works out of the box with the Paragraph block. Perfect for long-form content sites and publishing workflows. > Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [Block Editor Handbook](https://developer.wordpress.org/block-editor/) > ## โœ… Action Items > #### WordPress > - Core: Document textIndent selector limitations for third-party blocks in block supports documentation > - Core: Consider extending subsequent/all selector logic to custom blocks in future releases > - Documentation: Update Block Editor Handbook with textIndent implementation examples and best practices > - Design: Review typography control grouping in sidebar to accommodate growing number of options > - Training: Create lesson plans covering advanced typography features including textIndent configuration > - Accessibility: Test text indentation with screen readers and various reading modes > - Polyglots: Review textIndent terminology and controls for RTL language accuracy > #### Community > - Maintainers: Update popular block libraries to support textIndent where appropriate > - Contributors: Test textIndent behavior across different themes and block combinations > - Sponsors: Consider funding expanded selector logic for third-party blocks > #### DevRel > - Education: Create workshops demonstrating typography block supports integration > - Developer experience: Document migration path from custom CSS indent solutions > - Developer marketing: Showcase textIndent feature in WordPress 7.0 release content > ## ๐Ÿงช Hypotheses > - Theme adoption of textIndent support will correlate with sites publishing long-form content > - RTL language sites will prefer "all paragraphs" indentation mode more frequently than LTR sites > - Third-party block developers will request expanded selector behavior similar to core Paragraph block > - Content creators will combine textIndent with other typography features like line height and letter spacing > ### ๐Ÿ“Š Methodology > - Survey theme developers about typography feature priorities and implementation plans > - Analyze usage patterns of textIndent settings across different language sites > - Track support requests for third-party block selector enhancements > - Measure reduction in custom CSS solutions for text indentation post-7.0 > ### โ“ Questions > - How will textIndent interact with existing paragraph spacing and margin controls? > - Should the subsequent/all selector logic be abstracted for use by any block type? > - What performance implications exist for complex selector matching in large documents? > ### ๐Ÿ”ฎ Future Research > - Investigate expanding typography block supports to include more advanced typographic features > - Explore integration with CSS container queries for responsive typography > - Research user experience patterns for typography control discoverability > ### ๐Ÿ’ก Implications > - Practice: Developers can eliminate custom CSS workarounds for text indentation > - Policy: Theme review guidelines may need updates for proper textIndent implementation > - Education: Typography training materials need updates to include new block supports > - Funding: Reduced support burden for custom text indentation solutions > ### ๐Ÿง  Learning Styles Assessment > Reading level estimate: 12th grade (technical documentation with specialized terminology) > #### ๐Ÿ‘€ Visual learners > - Present: Code examples and JSON configuration snippets > - Improve: Before/after screenshots of indented text, visual comparison of subsequent vs all modes > #### ๐Ÿ”Š Aural learners > - Present: Clear technical explanations with logical flow > - Improve: Audio walkthrough of textIndent implementation process > #### ๐Ÿ—ฃ๏ธ Verbal learners > - Present: Typography terminology clearly defined, cultural context explained > - Improve: More analogies between textIndent and other typography features > #### ๐Ÿงฉ Kinesthetic learners > - Present: Step-by-step code examples for implementation > - Improve: Interactive tutorial for configuring textIndent in different scenarios > #### ๐Ÿง  Logical learners > - Present: Clear cause-effect relationships, systematic configuration options > - Improve: Decision tree for choosing between subsequent/all modes > #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners > - Present: Attribution to contributors and reviewers > - Improve: Discussion prompts about typography conventions across cultures > #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners > - Present: Complete code examples for independent implementation > - Improve: Self-check questions about textIndent configuration options > #### ๐ŸŒฟ Naturalistic learners > - Present: Cultural context for different typography traditions > - Improve: Connections to broader design systems and typography evolution > ### ๐Ÿ“Š Accessibility Assessment > #### Screen reader semantics > - Present: Standard heading structure, clear code formatting > - Improve: More descriptive alt text for any visual examples of text indentation > #### Keyboard navigation > - Present: Standard web navigation patterns > - Improve: Skip links for code sections, clear focus indicators > #### Contrast and readability > - Present: Good contrast on standard WordPress.org styling > - Improve: Ensure code examples maintain contrast in dark mode > #### Text resizing and reflow > - Present: Responsive design supports text scaling > - Improve: Test code block formatting at 200% zoom > #### Media and captions > - Present: No media content requiring captions > - Improve: N/A - text-only content > #### Forms and interactions > - Present: No interactive forms in this content > - Improve: N/A > #### Standards reference > - Meets WCAG 2.2 AA standards for technical documentation > ### ๐ŸŒ DEIB Assessment > #### Cultural breadth > - Present: Acknowledges LTR and RTL typography conventions, mentions Arabic and Hebrew specifically > - Improve: Include examples from additional writing systems and cultures > #### Inclusive language > - Present: Technical language appropriate for developer audience, avoids bias > - Improve: Could include more context about typography traditions beyond Western/Middle Eastern > #### Neurodiversity support > - Present: Clear structure with consistent formatting and logical flow > - Improve: More frequent subheadings to break up dense technical content > #### Representation > - Present: Credits diverse contributor names > - Improve: More representation of different cultural perspectives on typography > #### Psychological safety > - Present: Professional, respectful tone throughout > - Improve: Acknowledgment of different cultural approaches is positive > ### โœ… Logical Validity > #### Strong reasoning > - Deductive strength: Feature necessity clearly derived from user demand since 2021 > - Inductive strength: Implementation pattern follows established block supports precedent > - Causal reasoning: Clear connection between cultural typography conventions and technical solution > #### Fallacies > - No significant logical fallacies identified > - Reasoning is technically sound and well-supported > #### Tone of voice > - Overall tone: Professional, informative, technically precise without being overly complex > ### ๐Ÿ›ก๏ธ DARVO Analysis > - Deny: No denial patterns present - straightforward technical documentation > - Attack: No attacking language or defensive positioning > - Reverse victim/offender: N/A - not applicable to technical feature documentation > - Emotional cues and rhetoric: Neutral, factual tone throughout > ## ๐ŸŽฏ Conclusion > The textIndent block support represents a thoughtful addition to WordPress 7.0 that addresses long-standing user needs while respecting diverse typography traditions. The implementation follows established patterns, ensuring developer familiarity, while the cultural sensitivity around paragraph indentation conventions demonstrates WordPress's global perspective. For practitioners, this eliminates custom CSS workarounds and provides a native, theme-integrated solution for text indentation. The feature sets a positive precedent for future typography enhancements that balance technical capabilities with cultural awareness. > ## ๐Ÿงฑ Refactor Appendix > ### ๐Ÿ“š Literature Split Pad > Purpose: Stage CEE units that become Literature notes. > Split level: H3 > ### [H1] WordPress 7.0 introduces native textIndent block support > > [!quote] [New Block Support: Text Indent (textIndent)](https://make.wordpress.org/core/2026/03/15/new-block-support-text-indent-textindent/) by [[Aaron Robertshaw]] via [[Make WordPress Core]]. Published 2026-03-15. Accessed 2024-12-28. > > "WordPress 7.0 introduces a new textIndent block support for typography, allowing blocks to opt in to text-indent CSS support." > Foundation feature enabling native text indentation without custom CSS. Addresses 2021 user demand through established block supports pattern. > [view highlight](https://make.wordpress.org/core/2026/03/15/new-block-support-text-indent-textindent/#H1) #xref #articleseed ID:rw_wp_textindent_001 > ### [H2] Cultural typography conventions influence technical implementation > > [!quote] [New Block Support: Text Indent (textIndent)](https://make.wordpress.org/core/2026/03/15/new-block-support-text-indent-textindent/) > > "in traditional typographic conventions of English and some other left-to-right (LTR) languages, only subsequent paragraphs are typically indented" > Technical design accommodating different cultural approaches to paragraph formatting through selector strategy and global settings. > [view highlight](https://make.wordpress.org/core/2026/03/15/new-block-support-text-indent-textindent/#H2) #xref ID:rw_wp_textindent_002 > --- > ### ๐Ÿ”– Atomic Split Pad (Zettel Candidates) > Purpose: Promote reusable claims into Atomic notes. > Split level: H4 > #### [Z1] Block supports enable consistent feature adoption > - Apply to typography features across WordPress block ecosystem > - Implementation follows established JSON declaration pattern > - Links: [[WordPress-Block-Editor]] [[Typography-Features]] > #### [Z2] Technical solutions should respect cultural conventions > - Relevant to internationalization and localization decisions > - WordPress textIndent accommodates LTR and RTL traditions > - Links: [[Cultural-Design]] [[Internationalization]] > --- > ### โœ๏ธ Fleeting Queue > Purpose: Capture quick actions for Fleeting notes. > - [F1] Research other typography features that could benefit from cultural convention handling โ€” textIndent precedent #fleeting #inbox > - [F2] Document textIndent performance implications for large documents โ€” selector complexity analysis #fleeting #inbox > - [F3] Explore extending selector logic to third-party blocks โ€” developer experience improvement #fleeting #inbox WordPress 7.0 introduces a new **`textIndent` block support** for typography, allowing blocks to opt in to `text-indent` CSS support. The Paragraph block is the first core block to adopt this support. Text indentation is a standard typographic convention, particularly in long-form publishing. It has been one of the most-requested typography features for WordPress blocks since 2021 ([#37462](https://github.com/WordPress/gutenberg/issues/37462)). With this release, WordPress now supports it natively through a new block support. No custom CSS required. ##### The `textIndent` Block Support Any block can now declare support for `textIndent` in its `block.json`: When a block declares this support, the block editor will show a **Line Indent** control in the Typography panel of the block sidebar, and the blockโ€™s `style.typography.textIndent` attribute will be serialised as a `text-indent` CSS property. This follows the same pattern as other typography block supports such as `letterSpacing`, `textDecoration`, and `textTransform`. ##### Paragraph Block: Selector Behaviour and the `textIndent` Setting The `textIndent` support has a unique consideration specific to the core Paragraph block: in traditional typographic conventions of English and some other left-to-right (LTR) languages, only *subsequent* paragraphs (those that follow another paragraph) are typically indented, while the very first paragraph in a sequence is not. In some right-to-left (RTL) languages and publishing traditions, such as Arabic and Hebrew, however, it is common to indent all paragraphs. To accommodate both conventions, a **`typography.textIndent` setting** controls which CSS selector is used when generating the `text-indent` rule. This setting is distinct from the style value (the actual indent amount) and applies at the Global Styles level. | Setting value | Selector used | Behaviour | | --- | --- | --- | | `"subsequent"` (default) | `.wp-block-paragraph + .wp-block-paragraph` | Only paragraphs immediately following another paragraph are indented | | `"all"` | `.wp-block-paragraph` | All paragraphs are indented | Note: This selector behaviour is specific to `core/paragraph`. Third-party blocks that opt in to `textIndent` support will have `text-indent` applied using their own block selector, but the subsequent/all switching logic is not currently available to them. In Global Styles, an **โ€œIndent all paragraphsโ€** toggle lets authors switch between the two modes interactively. ##### Configuring via `theme.json` Themes can enable and configure Line Indent support through `theme.json`. **Enable the control with default (subsequent) behaviour:** **Enable with all-paragraphs mode:** **Set a default indent value globally for paragraphs:** This is a new opt-in feature. No existing block behaviour changes unless a block explicitly declares `"textIndent": true` in its `supports.typography` definition. There are no breaking changes to existing APIs. Props [@aaronrobertshaw](https://profiles.wordpress.org/aaronrobertshaw/) for development. Props [@wildworks](https://profiles.wordpress.org/wildworks/), [@andrewserong](https://profiles.wordpress.org/andrewserong/), and [@ramonopoly](https://profiles.wordpress.org/ramonopoly/) for technical reviews and proofreading., New Block Support: Text Indent (textIndent), make.wordpress.org, 01kkva9svxb4r8e690a8jnkaaj.