Matyas.
ServicesProjectsExperienceBlogContact
CSGet in touch
Back to Dictionary
web-dev

BEM

BEM (Block Element Modifier) is a CSS naming convention that structures class names as .block__element--modifier to create clear, predictable relationships between HTML and CSS. For example, .card__title--highlighted identifies a highlighted title element within a card block. While modern tooling like CSS Modules and utility frameworks have reduced BEM's necessity, it remains widely used in large codebases and design systems where explicit naming conventions aid team coordination.

#web-dev

Related Terms

Atomic Design

Atomic Design is a methodology by Brad Frost for creating design systems by breaking interfaces into five hierarchical levels: atoms (basic HTML elements), molecules (simple component groups), organisms (complex UI sections), templates (page-level layouts), and pages (specific instances with real content). This approach provides a consistent mental model for organizing component libraries in React, React Native, or Flutter projects and ensures systematic scalability of the UI.

Design Tokens

Design tokens are the smallest units of a design system — named values representing colors, spacing, typography, border radii, and other visual properties. They act as a single source of truth that can be translated into platform-specific formats (CSS variables, Swift constants, XML resources). By changing token values in one place, you can update the look and feel of an entire application across multiple platforms simultaneously.

Accessibility

Accessibility (often abbreviated a11y) is the practice of designing and building websites and apps so they can be used by everyone, including people with visual, motor, auditory, or cognitive disabilities. This involves proper semantic markup, keyboard navigation support, sufficient color contrast, and screen reader compatibility. Beyond being an ethical responsibility, accessibility is increasingly a legal requirement in many jurisdictions.

Docker

Docker is a platform that packages applications and their dependencies into lightweight, portable containers that run consistently across any environment. A Dockerfile defines the build steps, and images can be shared via registries like Docker Hub. Containers are essential for automation because they guarantee that code behaves the same in CI pipelines, staging, and production, eliminating "works on my machine" issues.

Widget Tree

In Flutter, the widget tree is the hierarchical structure of nested widgets that defines the entire UI of an application. Everything in Flutter is a widget — from layout structures like `Column` and `Row` to styling wrappers like `Padding` and `Theme` to interactive elements like `GestureDetector`. Flutter maintains three parallel trees (widget, element, and render object) that work together to efficiently rebuild only the parts of the UI that actually changed when state updates.

Headless UI

Headless UI refers to component libraries that provide behavior, state management, and accessibility logic without any predefined styling or markup. Libraries like Radix Primitives, Headless UI by Tailwind Labs, and React Aria give developers full control over visual presentation while handling complex patterns like focus management, keyboard navigation, and ARIA attributes. This approach decouples functionality from design, making it ideal for custom design systems.

All Words

Got a project in mind?

Whether you need a web app, mobile app, or AI-powered automation — let's talk about how I can help.

Get in touch
Matyas.

Web apps, mobile apps, AI automation. I help businesses save time and money with tech that actually works.

Links

  • Services
  • Projects
  • Experience
  • Blog
  • Dictionary
  • Contact

Coming Soon

  • Case StudiesSoon
  • Resources

© 2026 Matyas Prochazka. All rights reserved.