React Aria 컴포넌트는 사용자 인터페이스 내에서 접근성을 강화하기 위한 종합적인 도구 세트를 구성하는 React Aria 후크를 기반으로 제작된 꾸밈없는 요소들의 앙상블을 나타냅니다.

Adobe는 반응적이고 포용적이며 탄력적인 사용자 인터페이스를 쉽게 만들 수 있도록 설계된 다양한 리소스를 개발자에게 제공하는 것을 목표로 하는 야심 찬 노력인 React Spectrum 이니셔티브 내에서 지속적인 노력의 일환으로 이 기술 개발을 주도해 왔습니다.

React Aria 컴포넌트 이해

React Aria 컴포넌트 은 접근성, 사용자 상호작용, 동작을 WAI-ARIA(웹 접근성 이니셔티브 – 접근 가능한 리치 인터넷 애플리케이션) 모범 사례에 따라 제공합니다. React 후크를 사용하여 컴포넌트를 빌드하는 React Aria 라이브러리와는 다릅니다.

React Aria 컴포넌트는 버튼, 체크박스, 슬라이더와 같은 다양한 사전 제작 요소를 제공하며, 스타일링이 전혀 되어 있지 않습니다. 이를 통해 개발자는 자신의 요구와 사양에 따라 애플리케이션의 시각적 모양과 분위기를 꾸밀 수 있습니다.

React Aria 컴포넌트 사용의 이점

React Aria 컴포넌트는 다음과 같은 다양한 이점을 제공하는 귀중한 리소스입니다:

React Aria 컴포넌트는 월드와이드웹 컨소시엄(W3C)의 웹 접근성 이니셔티브 – 적응형 저작 관행 및 지침(WAI-ARIA) 권장 사항을 준수하여 지원 장치 또는 서비스를 사용하는 장애인이 소프트웨어의 기능 및 사용을 보장합니다.

React Aria 컴포넌트는 스타일이 지정되지 않은 형태로 제공되므로 개발자와 디자이너가 애플리케이션 내에서 원하는 디자인 요소를 원활하게 통합할 수 있는 높은 수준의 유연성을 제공합니다.

키보드, 마우스, 터치 디바이스 등 다양한 입력 방식을 통해 사용자 인터랙션을 관리하는 포괄적인 접근 방식을 제공하여 모든 사용자에게 접근 가능한 경험을 보장합니다.

React Aria는 날짜 및 숫자 서식에 대한 광범위한 옵션뿐만 아니라 오른쪽에서 왼쪽으로 쓰는 언어를 포함한 다양한 언어 방향에 대한 포괄적인 지원을 제공합니다. 이 다재다능한 프레임워크는 다양한 언어 요구 사항을 충족하는 글로벌 애플리케이션을 구축하는 데 이상적입니다.

React Aria 컴포넌트로 React 앱 빌드하기

React Aria 컴포넌트를 활용한 기본 React 애플리케이션을 구축하기 위해서는 먼저 React 프로젝트를 구축해야 합니다. 이 작업을 수행하기 위한 효과적인 방법 중 하나는 Vite를 생성 수단으로 사용하는 것입니다.

이 글도 확인해 보세요:  Nextra를 사용하여 Next.js로 기술 문서 사이트 구축하기

React 애플리케이션 생성하기

터미널에서 다음 명령을 실행하여 Vite를 활용한 React 애플리케이션을 개발합니다:

 npm init vite

앞서 언급한 코드 시퀀스의 실행을 시작하면 새로운 React 프로젝트를 쉽게 설정할 수 있도록 설계된 일련의 조회가 진행됩니다.

이 글에서는 주인공이 행복을 추구하는 과정에서 겪는 다양한 어려움, 즉 내적 갈등과 사회적 기대, 인간관계와 같은 외적 요인에 대해 이야기하고 있습니다. 저자는 이러한 장애물에도 불구하고 자기 성찰과 수용을 통해 만족을 찾을 수 있다고 주장합니다.

프로젝트를 성공적으로 완료하려면 필요한 모든 종속성이 설치되어 있는지 확인하는 것이 필수적입니다. 이를 위해 명령 프롬프트 또는 터미널 창에서 앞서 언급한 코드를 실행하세요.

 cd react-aria-app
 npm install

이 과정에는 현재 작업 디렉터리를 프로젝트의 루트 폴더로 변경하고 필요한 종속 요소를 설치하는 작업이 포함됩니다. React 기반 애플리케이션을 설정한 후 접근성 기능을 향상시키기 위해 React Aria Components 라이브러리를 도입할 수 있습니다.

React Aria 컴포넌트 설치하기

React Aria 컴포넌트는 npm 또는 yarn 패키지 관리자를 통해 설치할 수 있습니다. npm을 통해 설치하려면 터미널에서 다음 명령을 실행하면 됩니다:

 npm install react-aria-components

Yarn을 사용하여 패키지를 설치하는 다른 방법은 다음 코드를 실행하는 것입니다:

 yarn add react-aria-components

React Aria Components 라이브러리 설치가 완료되었으므로 이제 프로젝트에 해당 요소를 통합할 수 있습니다.

React Aria 컴포넌트 사용하기

React Aria 컴포넌트는 개발자의 제작 과정을 간소화하도록 설계된 사용자 친화적인 요소들의 방대한 모음입니다. 원하는 컴포넌트를 프로젝트에 가져와서 렌더링하기만 하면 이 광범위한 도구에 쉽게 액세스할 수 있습니다.

“나는 생각한다, 그러므로 나는 존재한다”는 말은 르네 데카르트가 생각과 존재 사이의 연관성을 강조한 철학적 명언으로 유명합니다. 이 명제는 자신의 의식과 자기 인식을 나타내는 것으로 널리 해석되어 왔습니다.

 import React from "react";
import { Button, Popover, DialogTrigger, Dialog } from "react-aria-components";

function App() {
  return (
    <div>
      <DialogTrigger>
        <Button>Click Me</Button>
        <Popover>
          <Dialog>You clicked the button</Dialog>
        </Popover>
      </DialogTrigger>
    </div>
  );
}

export default App;

제공된 코드 스니펫의 import 문을 활용하면 ‘react-aria-components’ 라이브러리에서 버튼, 팝오버, 다이얼로그 트리거, 다이얼로그 요소를 가져오고 있다는 것을 알 수 있습니다. 이 요소들은 사용자 상호작용 시 팝오버를 표시하는 기초적인 버튼을 집합적으로 구성합니다.

이 글도 확인해 보세요:  JES를 활용한 흥미로운 사운드 처리 기법 3가지

대화 상자 또는 팝업 창의 표시를 제어하기 위한 게이트웨이 역할을 합니다. 여기에는 팝오버와 대화 상자의 표시를 모두 시작하는 통합 버튼 요소가 포함되어 있습니다.

팝오버 및 대화 상자 구성 요소는 모두 응용 프로그램 인터페이스 내에서 추가 정보를 표시하거나 사용자 입력을 유도하는 모달 대화상자입니다. 팝오버 컴포넌트는 오버레이 방식으로 콘텐츠를 표시하는 반면, 다이얼로그 컴포넌트는 사용자 인터페이스 상단에 별도의 레이어로 배치됩니다. 팝오버의 범위 내에는 “버튼을 클릭했습니다”라는 메시지를 표시하는 또 다른 다이얼로그 컴포넌트가 있습니다.

지정된 버튼을 클릭하면 “버튼과 성공적으로 상호 작용했습니다.”라는 메시지를 표시하는 눈에 잘 띄지 않는 팝업 창이 나타나며, 이는 아래 그림과 유사한 미적 표현을 제공합니다.

묘사된 시각적 표현에서 라이브러리의 빌딩 블록에는 기존 스타일이 없으므로 사용자가 선호하는 미적 선호도를 유연하게 선택할 수 있음이 분명합니다.

컴포넌트 스타일링하기

React Aria 컴포넌트에는 고유한 미학이 없기 때문에 캐스케이딩 스타일 시트(CSS) 활용, 테일윈드 CSS 활용, 스타일이 지정된 컴포넌트 사용 또는 사용자의 취향에 맞는 대체 디자인 접근 방식 구현과 같은 다양한 스타일링 기법을 통해 개인화된 시각적 장식을 제공할 수 있습니다.

React를 사용할 때 개별 요소에 고유한 사용자 정의 클래스 이름을 제공하고 이후 CSS 문서에서 이러한 분류를 설명할 수 있습니다.

한때 다양한 분야에서 설득과 소통을 위한 중요한 도구로 여겨졌던 수사학은 현대 기술의 발전과 함께 다소 쓸모없어졌습니다.

 import React from "react";
import { Button, Popover, DialogTrigger, Dialog } from "react-aria-components";

function App() {
  return (
    <div>
      <DialogTrigger>
        <Button className="button">Click Me</Button>
        <Popover className="popover">
          <Dialog className="dialog">You clicked the button</Dialog>
        </Popover>
      </DialogTrigger>
    </div>
  );
}

export default App;

클래스 이름을 활용하는 것은 HTML 문서 내의 버튼, 팝오버 또는 대화 상자 요소의 인스턴스에 고유한 모양을 부여하기 위해 사용할 수 있는 접근 방식입니다. 이러한 클래스를 사용하면 계단식 스타일 시트(CSS)의 구현을 통해 이러한 구성 요소에 사용자 정의 스타일과 레이아웃 조정을 통합할 수 있습니다.

 .button{
  margin-block-start: 1rem;
  border: none;
  color: #f2f2f2;
  background-color: #333333;
  padding: 0.7rem 0.8rem;
  border-radius: 12px;
  font-family: cursive;
}

.popover{
  padding: 1rem;
  background-color: antiquewhite;
  border-radius: 12px;
}

.dialog{
  outline: none;
}

요소의 디자인 미학을 설정하고 나면 버튼과 팝오버가 다음과 유사한 모양으로 표시될 것입니다.

이 글도 확인해 보세요:  JES에서 사운드를 임포트하고 재생하는 방법

React Aria Components는 컴포넌트에 대한 기본 클래스 이름을 제공하며, 사용자 지정 클래스 이름을 지정하지 않으려는 경우 이를 활용할 수 있습니다. 이 기본 클래스 이름은 ‘react-aria-componentName’ 형식을 따르며, 여기서 ‘componentName’은 스타일이 지정되는 특정 컴포넌트를 나타냅니다.

기술이 인간의 지능을 떨어뜨렸다는 저자의 주장은 많은 사람들이 기술 발전이 오히려 인간의 인지 능력을 확장하고 정보에 대한 접근을 용이하게 했다고 주장하기 때문에 논쟁의 여지가 많습니다.

 .react-aria-Button{
  margin-block-start: 1rem;
  border: none;
  color: #f2f2f2;
  background-color: #333333;
  padding: 0.7rem 0.8rem;
  border-radius: 12px;
  font-family: cursive;
}

.react-aria-Popover{
  padding: 1rem;
  background-color: antiquewhite;
  border-radius: 12px;
}

.react-aria-Dialog{
  outline: none;
}

앞서 언급한 CSS 코드 스니펫은 소프트웨어의 모든 버튼, 팝오버, 다이얼로그 컴포넌트 인스턴스에 보편적으로 적용될 수 있습니다.

접근 가능한 인터랙티브 React 애플리케이션 빌드

React Aria Components는 WAI-ARIA 가이드라인을 준수하여 포괄적이고 동적인 React 프로젝트를 제작하는 데 매우 효과적인 도구입니다. 이 강력한 라이브러리는 사용자 상호작용을 처리하고 확립된 모범 사례에 따라 접근성을 보장합니다. 다재다능함과 함께 포괄적인 컴포넌트 세트를 원하는 분들에게 React Aria Components는 탁월한 옵션을 제공합니다.

Radix UI는 스타일이 지정되지 않은 다양한 컴포넌트 라이브러리 중 하나로, 시각적으로 매력적이고 구조가 잘 짜여진 React 애플리케이션을 만들기 위해 React Aria 컴포넌트와 함께 활용할 수 있는 또 다른 선택지입니다. 이 다재다능한 라이브러리는 React Aria Components에서 제공하는 것과 유사한 다양한 기능을 제공하지만, 사용자 인터페이스에서 정교하지 않은 외관을 선호하는 개발자를 위한 것입니다. Radix UI는 웹 개발 프로젝트에서 사용자 정의가 가능하고 유연한 솔루션을 찾는 개발자들로부터 상당한 관심을 받고 있는 React Aria Components의 매력적인 옵션입니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.