Visual Studio Code’s Post
Feed post
✨ VS Code’s UI is evolving, shaped by developer feedback!
Explore the modernized interface, with refined tabs, more consistent layouts, and new ways to customize your workspace.
🔗 Read the blog: https://lnkd.in/e7VcGpJP
Modernizing the VS Code UI
code.visualstudio.com
To view or add a comment, sign in
More Relevant Posts
Feed post
React Aria vs Base UI: Which one fits your next project?
Both help you build accessible, unstyled UI components, but their strengths differ.
Here's what you need to know:
Base UI: Composable components, flexible rendering, and a strong foundation for custom design systems.
React Aria: A broader set of accessibility hooks, internationalization utilities, and tools for complex interactions.
Styling: Both let you build your own visual design with Tailwind CSS or other styling approaches.
Accessibility: Both handle important interaction patterns, but your implementation still matters.
So, which should you choose? It depends on your component architecture and the specific requirements of your project.
We've broken down the differences with practical code examples, use cases, and common mistakes to avoid.
Read the full comparison: https://lnkd.in/d3iRGnnN
#ShadcnUI #BaseUI #ReactAria #WebDevelopment #FrontendDevelopment
React Aria vs Base UI - Detailed Guide
shadcnspace.com
To view or add a comment, sign in
Feed post
Modernizing VS Code means evolving an interface developers know deeply, without losing what makes it work for them.
Here's a look at the thinking behind our UI modernization: where it started, how it’s evolving, and how community feedback is changing the design.
The goal isn’t to reinvent the editor. It’s to reduce visual noise, make the hierarchy clearer, and build a shared design foundation across the editor and Agents windows - while preserving the density, customization, and muscle memory developers rely on.
Some of the most important changes came directly from feedback:
• Compact layout density for people who want more room for their code.
• Connected editor tabs that make the relationship between the active file and its content clearer.
• Refinements to spacing, typography, panel boundaries, and theme controls.
The modernized UI is still in preview, and there’s more to do. Thank you to everyone who has tried it, challenged our assumptions, and shared detailed feedback.
Read the post: https://lnkd.in/ejX9RV4f
#VSCode #UXDesign
Modernizing the VS Code UI
code.visualstudio.com
To view or add a comment, sign in
Feed post
Tight deadline. Live product. No room to break anything. And the UI had to be GTM-ready.
That was our brief for our recent UI revamp.
The tempting move under pressure is to patch screens one by one and ship. It feels fast, but it just recreates the same inconsistency on a tighter clock and leaves debt for the next sprint.
So we did the counterintuitive thing: we slowed down for a few days to build the foundation, so we could speed up for every day after.
Here's the layered architecture we built:
🎨 Primitive tokens. The raw palette: colors, spacing, radii, typography.
🧠 Semantic tokens. Meaning on top: surface, text-muted, action-primary. Components never touch raw values.
🌉 Global CSS bridge. Tokens exposed as CSS variables and mapped into Tailwind, so new and legacy UI read from one source of truth.
🧱 Primitive components. Built on shadcn/ui and Radix UI, accessible out of the box and styled entirely through tokens.
🧩 Composite components. Real product patterns like forms, tables, cards and filters, assembled from primitives.
📐 Layouts. Next.js App Router layouts where pages become composition, not custom CSS.
We added one rule that saved hours of debate: anything reused across layouts but too specific for the design system goes into a shared components folder. The system stays clean and delivery keeps moving.
Why layering made the deadline achievable:
⚡ Speed compounds. After the foundation was in place, each new screen took less time than the one before, because we were composing instead of rebuilding.
🔁 Change is cheap. A brand tweak or dark mode is a token update, not a 40-file hunt.
🛡️ Nothing broke. The CSS bridge let old and new UI live side by side, so we migrated incrementally while the existing product kept serving users.
🔒 Consistency is enforced. Tailwind tokens make off-system styling hard to write, and TypeScript makes component contracts hard to break, which matters when everyone is moving fast.
🧭 Each layer has clear ownership. Reviews got faster, bugs got easier to trace, and parallel work stopped colliding.
♿ Quality is built in. Radix gave us accessibility by default, so it wasn't a last-minute scramble before launch.
The outcome: a platform that looks and feels like one product, and is ready for go-to-market. And it's a foundation the team can keep building on instead of rewriting six months from now.
The biggest lesson: architecture isn't a luxury, it's what makes speed possible. Shortcuts save you a day. Structure saves you every day after that.
How does your team balance shipping fast with building right? I'd love to hear your approach 👇
#DesignSystems #FrontendArchitecture #NextJS #TypeScript #TailwindCSS #shadcn #RadixUI #React #UIEngineering #GoToMarket #SoftwareEngineering
To view or add a comment, sign in
Feed post
Why does keyboard focus sometimes vanish or jump unpredictably in design system UIs?
If you've ever tabbed through a modal or dropdown only to lose track of where focus landed, you're not alone. Design systems promise accessible components, but subtle app overrides and missing focus management can break that promise, frustrating keyboard and assistive tech users.
In this article, I break down:
✅ How design systems use centralized focus utilities and hooks to trap and restore focus reliably
✅ The role of focus context and state to coordinate nested components like tabs and panels
✅ Integration of ARIA roles and attributes with programmatic focus control
✅ Keyboard event handling patterns to customize navigation (Tab, Shift+Tab, Escape, arrow keys)
✅ Common pitfalls like missing ref forwarding, overwritten focus styles, and conflicting event handlers
✅ Debugging techniques including browser accessibility inspectors, manual focus checks, and screen reader testing
Understanding these mechanisms helps you build and maintain truly accessible frontend experiences where keyboard and screen reader users never get lost.
For a deeper dive, check out the detailed example of a modal focus trap and practical debugging tips.
W3C Web Accessibility Initiative offers great guidance on focus management and accessibility best practices.
📖 Read the full article: https://lnkd.in/eXGUhsQE
#Accessibility #DesignSystems #FocusManagement #ARIA #Debugging #Frontend #WebDev #JavaScript #React #A11y #KeyboardNavigation #ScreenReaders #UX #WebAccessibility #SoftwareEngineering #FullStack #W3C #W3CA11y #WebDevelopment
Design Systems and Accessibility: Mechanisms to Enforce Consistent Focus Management
blog.mspk.me
To view or add a comment, sign in
Feed post
Design Systems & Accessibility
Stop Letting Feature Teams Build UI Components From Scratch
When multiple engineering squads ship features independently, UI fragmentation is inevitable:
5 different variations of the same primary button.
Inconsistent focus states that break screen-reader flows.
Bloated, duplicated CSS across feature bundles.
Here is how a Frontend Architect solves this at the root:
Decouple Logic from Styling: Build your shared design system on headless primitives using Angular CDK. Let the design system handle keyboard navigation, ARIA attributes, and overlay positioning.
Enforce Design Tokens: Lock down colors, spacing, and typography into a single token layer (CSS custom properties or Tailwind themes). Feature teams consume design tokens, never hardcoded pixel or hex values.
Bake In WCAG 2.1 AA Compliance Upstream: Accessibility is not an audit you run right before a major release. If your design system primitives handle focus trapping and keyboard navigation natively, every consuming team gets accessibility out of the box.
The Bottom Line:
Your feature engineers should spend 95% of their time solving customer domain problems, not re-engineering custom dropdown menus.
Does your organization have a dedicated design systems team, or is it managed collectively?
#DesignSystems #Accessibility #AngularCDK #UIUX
To view or add a comment, sign in
Feed post
Ever lost keyboard focus inside a modal or dropdown, or found yourself trapped with no easy way out?
Focus management is a deceptively complex UI challenge that can make or break accessibility. Popular design systems like Material UI, Chakra UI, and Reach UI implement intricate logic to keep keyboard users on track — but bugs still slip through.
In this article, I break down:
✅ How focus traps use sentinel elements or keyboard event interception
✅ Techniques for restoring focus after closing overlays
✅ Managing focus timing on mount, including delayed or specified focus
✅ Handling nested focus traps with stack-based prioritization
✅ Common focus trap bugs: phantom focus, trap lock, and loop breaks
✅ Practical debugging tips with DevTools and event logging
Understanding these mechanisms helps you build keyboard-friendly components and troubleshoot tricky focus bugs in complex React trees.
For more on accessibility best practices, see the W3C Web Accessibility Initiative.
📖 Read the full article: https://lnkd.in/eyy5ZA-6
#Accessibility #FocusManagement #DesignSystems #Debugging #Frontend #UI #WebDev #JavaScript #React #WebAccessibility #A11y #KeyboardNavigation #UserExperience #FrontendDevelopment #SoftwareEngineering
Design Systems and Focus Management: Mechanisms to Avoid Focus Loss and Trap Bugs
blog.mspk.me
To view or add a comment, sign in
Feed post
GOOD UI BUILDS TRUST
Spacing. Clarity. Visual hierarchy.
Many websites lose users not because the product is bad.
But because the frontend doesn’t build trust.
Not because something is broken.
But because the interface doesn’t visually convince users to stay.
Most of the time, it comes down to three things:
1. Inconsistent spacing
When buttons, content blocks, text, and sections are positioned without a clear system, the website feels unstructured.
No structure = no sense of quality.
2. Too much UI noise
Too many colors.
Too many shadows.
Too many visual accents.
Instead of a modern interface, you get visual overload.
Good UI is usually simpler than it seems.
3. No clear visual hierarchy
Users should understand within seconds:
Where to look,
what to read,
what to click.
If the interface doesn’t guide them, you lose their attention.
And when attention is lost, trust often goes with it.
Frontend development is no longer just about responsive layouts and components.
Frontend shapes the first impression of a business.
And that first impression can determine whether a user stays or leaves.
What UI/frontend mistake do you notice most often on websites?
#Frontend #WebDevelopment #UIUX
To view or add a comment, sign in
Feed post
Your Website Doesn’t Need More Features. It Needs Better Spacing.
Most UI problems aren’t caused by missing features.
They’re caused by poor visual rhythm.
Look at a simple card with the same content and components. Change only the spacing, and the entire interface can feel different.
A practical spacing system:
🔹 8px → tight relationships
🔹 16px → standard component spacing
🔹 24px → group separation
🔹 32px → major section separation
The important part isn’t blindly using multiples of 8.
It’s understanding relationships.
Elements that belong together should stay closer.
Unrelated groups need more breathing room.
Instead of:
margin: 13px
padding: 19px
gap: 27px
Build a predictable spacing scale and use it consistently.
Good spacing creates:
✅ Better visual hierarchy
✅ Easier scanning
✅ Cleaner layouts
✅ More consistent components
✅ A more professional UI
Before adding another feature, audit your spacing.
Sometimes the UI doesn’t need more.
It just needs more room to breathe.
#WebDesign #UIDesign #FrontendDevelopment #UXDesign #CSS #Frontend #WebDevelopment #DesignSystems #UIUX #ReactJS #TailwindCSS #CSSDesign
To view or add a comment, sign in
Feed post
Bridging the Figma-to-Code Gap with Dev Mode & CSS Tokens
How structuring Auto Layout flexbox properties, semantic naming conventions, and component property controls eliminates developer friction and cuts handoff meetings in half.
How to Design in Figma Like a Frontend Developer Thinks 💻.
One of the biggest friction points between UI designers and developers is the handoff process.
When a developer inspects a Figma file and sees absolute-positioned groups, unnamed frames, and hardcoded hex values, implementation slows down dramatically.
Here is how to structure your Figma designs so developers love working with you:
1️⃣ Map Auto Layout Directly to CSS Flexbox:
Vertical Auto Layout ---> flex-direction: column
Horizontal Auto Layout ---> flex-direction: row
Gap ---> gap: 16px
Padding ---> padding: 24px 16px
Benefit: When developers open Dev Mode, Figma automatically outputs clean, copy-pasteable CSS flexbox code!
2️⃣ Use Semantic Variable Names That Match Code Syntax:
Instead of naming variables Color 1 or Primary Blue, use CSS custom property formatting like - color-surface-primary or --spacing-lg.
3️⃣ Document Component States in Variants:
Clearly define component variant properties (State = Default, Hover, Active, Disabled) so developers don't have to guess how elements behave during user interactions.
📌 Save this handoff guide to make your next design-to-dev sync seamless! Follow for more DesignOps and design system strategies.
#DesignOps #DevMode #DesignSystems #FigmaToCode #UIUX
figma-dev-mode-handoff-deck
·
5 pages
To view or add a comment, sign in
Feed post
Make your UI look better instantly with these skills
1. frontend-design https://lnkd.in/d5EAXnJT
2. apple-design https://lnkd.in/dviTeeE4
3. beautiful-shadows https://lnkd.in/dq_u8Gax
4. accessibility https://lnkd.in/d3vgEUcx
5. design-review https://lnkd.in/djf8z_GP
6. emil-design-eng https://lnkd.in/diRDQHsK
7. shadcn https://lnkd.in/dSnBt9s2
8. adapt https://lnkd.in/d2duhYSv
9. better-interface https://lnkd.in/dUShwJJS
10. interaction-design https://lnkd.in/dRAfMXi2
To view or add a comment, sign in