From 1ada6af3a2d41e734a01e30e31c2dd5068b3779e Mon Sep 17 00:00:00 2001
From: yeji0214 <1225yj50@naver.com>
Date: Fri, 19 Sep 2025 15:39:47 +0900
Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=EC=96=B8=EC=96=B4=20=ED=95=9C?=
=?UTF-8?q?=EA=B5=AD=EC=96=B4=EB=A1=9C=20=EC=84=A4=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
a11y/index.html | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/a11y/index.html b/a11y/index.html
index 12fa3e7..e525729 100644
--- a/a11y/index.html
+++ b/a11y/index.html
@@ -1,16 +1,14 @@
-
-
-
-
-
-
-
- Accessibility
-
-
-
-
-
-
+
+
+
+
+
+
+ Accessibility
+
+
+
+
+
From b3e92212ef913dd892d840ffc2bb70ca6038723e Mon Sep 17 00:00:00 2001
From: yeji0214 <1225yj50@naver.com>
Date: Fri, 19 Sep 2025 15:44:49 +0900
Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20App.tsx=EC=97=90=EC=84=9C=20?=
=?UTF-8?q?=EC=8B=9C=EB=A7=A8=ED=8B=B1=20=ED=83=9C=EA=B7=B8=20=EC=82=AC?=
=?UTF-8?q?=EC=9A=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
a11y/src/App.tsx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/a11y/src/App.tsx b/a11y/src/App.tsx
index a8159f9..b8fecc8 100644
--- a/a11y/src/App.tsx
+++ b/a11y/src/App.tsx
@@ -6,11 +6,11 @@ import FlightBooking from "./components/FlightBooking";
function App() {
return (
);
}
From 1d613bd9afa966c7f7f9465840f3a5c2e6a4be5f Mon Sep 17 00:00:00 2001
From: yeji0214 <1225yj50@naver.com>
Date: Fri, 19 Sep 2025 15:54:35 +0900
Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=EC=8A=B9=EA=B0=9D=20=EA=B0=90?=
=?UTF-8?q?=EC=86=8C/=EC=B6=94=EA=B0=80=20=EB=B2=84=ED=8A=BC=EC=97=90=20?=
=?UTF-8?q?=EB=A0=88=EC=9D=B4=EB=B8=94=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
a11y/src/components/FlightBooking.tsx | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/a11y/src/components/FlightBooking.tsx b/a11y/src/components/FlightBooking.tsx
index 313cab3..03bbdc7 100644
--- a/a11y/src/components/FlightBooking.tsx
+++ b/a11y/src/components/FlightBooking.tsx
@@ -21,11 +21,19 @@ const FlightBooking = () => {
성인
-
From 7c555ca943ea808e9b9334313fbb813cec043afa Mon Sep 17 00:00:00 2001
From: yeji0214 <1225yj50@naver.com>
Date: Fri, 19 Sep 2025 16:05:31 +0900
Subject: [PATCH 4/5] =?UTF-8?q?feat:=20=EC=8A=B9=EA=B0=9D=20=EC=88=98?=
=?UTF-8?q?=EC=97=90=20aria-live=20=EC=86=8D=EC=84=B1=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
a11y/src/components/FlightBooking.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/a11y/src/components/FlightBooking.tsx b/a11y/src/components/FlightBooking.tsx
index 03bbdc7..76c6135 100644
--- a/a11y/src/components/FlightBooking.tsx
+++ b/a11y/src/components/FlightBooking.tsx
@@ -28,7 +28,7 @@ const FlightBooking = () => {
>
-
-
{adultCount}
+
{adultCount}
Date: Fri, 19 Sep 2025 16:30:38 +0900
Subject: [PATCH 5/5] =?UTF-8?q?feat:=20=EC=8A=B9=EA=B0=9D=20=EC=88=98=20?=
=?UTF-8?q?=EC=B5=9C=EC=86=8C/=EC=B5=9C=EB=8C=80=20=EA=B0=92=EC=97=90=20?=
=?UTF-8?q?=EB=8C=80=ED=95=9C=20=EC=95=8C=EB=A6=BC=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
a11y/src/components/FlightBooking.css | 14 +++++++++++++-
a11y/src/components/FlightBooking.tsx | 17 ++++++++++++++++-
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/a11y/src/components/FlightBooking.css b/a11y/src/components/FlightBooking.css
index d9d6083..e7261be 100644
--- a/a11y/src/components/FlightBooking.css
+++ b/a11y/src/components/FlightBooking.css
@@ -34,7 +34,7 @@
width: 30px;
height: 30px;
border-radius: 16px;
- border: 1px solid #C0C0C0;
+ border: 1px solid #c0c0c0;
background-color: #fff;
cursor: pointer;
display: flex;
@@ -61,3 +61,15 @@
border-radius: 4px;
cursor: pointer;
}
+
+.visually-hidden {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0 0 0 0);
+ white-space: nowrap;
+ border: 0;
+}
diff --git a/a11y/src/components/FlightBooking.tsx b/a11y/src/components/FlightBooking.tsx
index 76c6135..7e68eb0 100644
--- a/a11y/src/components/FlightBooking.tsx
+++ b/a11y/src/components/FlightBooking.tsx
@@ -2,17 +2,29 @@ import { useState } from "react";
import "./FlightBooking.css";
+const MIN_PASSENGERS = 1;
const MAX_PASSENGERS = 3;
const FlightBooking = () => {
const [adultCount, setAdultCount] = useState(1);
+ const [statusMessage, setStatusMessage] = useState("");
const incrementCount = () => {
+ if (adultCount === MAX_PASSENGERS) {
+ setStatusMessage("최대 승객 수에 도달했습니다.");
+ return;
+ }
setAdultCount((prev) => Math.min(MAX_PASSENGERS, prev + 1));
+ setStatusMessage("");
};
const decrementCount = () => {
- setAdultCount((prev) => Math.max(1, prev - 1));
+ if (adultCount === MIN_PASSENGERS) {
+ setStatusMessage("최소 1명의 승객이 필요합니다.");
+ return;
+ }
+ setAdultCount((prev) => Math.max(MIN_PASSENGERS, prev - 1));
+ setStatusMessage("");
};
return (
@@ -36,6 +48,9 @@ const FlightBooking = () => {
>
+
+
+ {statusMessage}
+
항공편 검색