brunch

You can make anything
by writing

C.S.Lewis

by Lawn Mar 15. 2024

[HIG] Alerts

필요한 정보를 즉시 제공하는 알림

본 문서는 Apple의 Human Interface Guideline(이하 HIG) 문서를 한글로 번역한 것입니다. iOS 생태계 내에서 HIG를 읽으시는 분들이 번역본이 없어 불편함을 겪는 것을 알게 되었고, 이에 한글로 번역을 하게 되었습니다. iOS 커뮤니티 Async Swift에서 자율적으로 모인 9명이 함께 번역했으며, 일체의 상업적인 목적을 띄지 않습니다. 이 문서를 학습에 적극적으로 이용해 주시돼, 상업적인 용도로 이용하시는 것은 지양해 주시기 바랍니다. 감사합니다.


Introduction


알림(Alert)은 사람들에 필요한 중요 정보를 즉시 제공합니다.


예를 들어 알림은 사용자에게 문제에 대해 알리고, 사용자의 동작이 데이터를 손상시킬 수 있는 경우 경고하며, 구매 또는 그와 같이 사용자가 시작한 중요 작업을 확인할 수 있는 기회를 제공합니다.


Best Practices


알림은 아껴서 사용하세요. 알림은 사람들에게 중요한 정보를 제공하지만, 이를 위해 현재 진행 중인 작업을 방해합니다. 알림이 필수적인 정보와 유용한 동작만 제공하도록 해서 사람들이 알림에 주의를 기울일 수 있도록 유도하는 것이 좋습니다.


알림을 단순 정보 제공 목적으로만 사용하지 않는 것이 좋습니다. 사람들은 알림으로 인해 작업을 방해받는 것을 좋아하지 않습니다. 정보만 제공해야 하는 경우 관련 맥락에서 정보를 전달할 수 있는 다른 방법을 찾는 것이 좋습니다. 예를 들어 서버에 연결할 수 없는 경우 Mail앱은 사용자가 ‘더 알아보기’ 버튼을 선택할 수 있는 인디케이터를 표시합니다.


일반적으로 실행 취소할 수 있는 작업의 경우, 파괴적인 작업(삭제)인 경우에도 경고를 표시하지 않아도 됩니다. 예를 들어, 사용자가 메일이나 파일을 삭제해도 해당 작업을 실행 취소 할 수 있기 때문에 데이터를 삭제할 때마다 경고 메시지를 보여주지 않는 것이 좋습니다. 하지만, 사용자가 실행 취소할 수 없는 파괴적인 작업의 경우에는 알림과 경고 메시지를 통해 실수를 사전 방지할 수 있게 돕는 것이 좋습니다.


앱을 실행할 때 알림이 표시되지 않도록 하는 것이 좋습니다. 사람들이 앱을 여는 순간 새로운 정보나 중요한 정보를 알려야 하는 경우, 해당 정보를 알림이 아니라 쉽게 찾을 수 있는 다른 방법을 고려해 보세요. 예를 들어 앱이 시작될 때 네트워크 연결이 되지 않는 등의 문제가 발생했을 때 캐시 데이터 또는 플레이스홀더와 같은 방법으로 사용자에게 자연스러운 맥락으로 문제를 설명하는 레이블을 보여줄 수 있습니다.


Anatomy


알림은 플랫폼과 기기에 따라 다르게 표시될 수 있는 모달(Modal) 뷰입니다.

Content


모든 플랫폼에서, 알림은 제목, 선택 정보, 그리고 최대 3개까지의 버튼을 표시합니다. 일부 플랫폼에서는 알림에 추가 요소가 포함될 수 있습니다.


iOS, iPadOS, macOS 및 visionOS에서는 알림에 텍스트 필드가 포함될 수 있습니다.

macOS 및 visionOS의 알림에는 아이콘과 액세서리 보기가 포함될 수 있습니다.

macOS 알림에는 checkbox와 Help button이 추가될 수 있습니다.


모든 알림 문구는 직설적이고 중립적이면서도 친근한 어조를 사용하세요. 알림은 문제 또는 심각한 상황을 사용자에게 알리는 경우에 사용합니다. 따라서 비꼬거나 비난하는 문구를 사용하는 것은 좋지 않습니다.


상황을 명확하고 간결하게 설명하는 제목을 작성하는 것이 좋습니다. 사람들이 상황을 빠르게 이해할 수 있도록 도와야 할 필요가 있으므로 구체적으로 제목을 작성하세요. 가능한 무슨 일이 일어났는지, 어떤 상황에서 일어났는지, 왜 일어났는지 설명하세요. ‘오류’ 또는 ‘329347 오류 발생’ 등과 같이 유용한 정보를 전달하지 못하는 제목은 작성하지 않는 것이 좋고, 두 줄 이상으로 지나치게 긴 제목도 피하세요. 제목이 완전한 문장인 경우 일반적인 문장과 같이 대문자로 시작하고 적절한 끝 구두점을 사용하는 것이 좋습니다. 제목에 문장의 일부만을 사용할 때는 제목 스타일의 대문자를 사용하고, 끝 구두점을 추가하지 않는 것이 좋습니다.


정보성 메시지는 가치를 더할 경우에만 사용하세요. 정보성 메시지를 추가해야 하는 경우, 완전한 문장, 문장 스타일의 대문자 그리고 적절한 구두점을 사용해 가능한 한 짧게 작성하세요.


알림 버튼에 대한 설명은 피하는 것이 좋습니다. 알림 텍스트와 버튼의 제목이 명확한 경우에는 버튼의 기능을 설명할 필요가 없습니다. 드물게 버튼을 선택하는 것에 대한 안내를 제공해야 하는 경우에는 사용자의 기기와 상호 작용 방법을 고려해 선택과 같은 용어를 사용하고 따옴표 없이 정확한 제목을 사용해 버튼을 가리키세요.


Button


간결하고 논리적인 버튼 레이블을 만드세요. 선택의 결과를 간결하게 설명하는 하나 또는 두 개의 단어로 레이블을 정하세요. "모두 보기", "답글" 또는 "무시"와 같이 알림 텍스트와 직접 관련된 동사 및 동사 구문을 사용하는 것이 좋습니다. 정보를 제공하기 위한 목적의 알림에서만 "예" 및 "아니요"가 아닌 "확인"이라는 문구를 사용하는 것이 좋습니다. 알림의 동작을 취소하는 버튼의 레이블은 항상 '취소'를 사용하세요. 모든 버튼의 레이블과 마찬가지로 제목 스타일의 대문자를 사용하고 끝 문장 부호를 사용하지 마세요.


알림이 순수한 정보 제공용이 아니라면 확인을 기본 버튼 제목으로 사용하지 마세요. "확인"의 의미는 사용자에게 어떤 작업을 수행할지 요청하는 알림에서 혼란을 줄 수 있습니다. 예를 들어 "작업을 완료하겠습니다"라는 의미인지 아니면 "내 작업으로 인해 발생할 수 있는 부정적인 결과를 이해했습니다"라는 의미인지 사용자들은 혼란스러울 수 있습니다. '지우기', '변환', '지우기' 또는 '삭제'와 같은 구체적인 버튼 레이블을 사용해야 사용자들이 자신이 취하는 행동을 이해하는 데 도움이 됩니다.


사람들이 예상하는 곳에 버튼을 배치하세요. 일반적으로 사람들이 선택할 가능성이 가장 높은 버튼은 버튼 줄의 맨 뒤쪽이나 버튼이 쌓여 있는 경우 맨 위에 배치합니다. 기본 버튼은 항상 행의 맨 뒤쪽이나 스택의 맨 위에 배치하세요. 취소 버튼은 일반적으로 행의 앞쪽이나 스택의 맨 아래에 있습니다.


파괴적인 스타일을 사용하여 사람들이 의도적으로 선택하지 않은 파괴적인 작업을 수행하는 버튼을 식별할 수 있습니다. 예를 들어, 사용자가 휴지통 비우기와 같은 파괴적인 작업을 의도적으로 선택한 경우 해당 버튼은 원래의 의도를 수행하므로 결과 알림에 표시되는 휴지통 비우기 버튼에 파괴적인 스타일이 적용되지 않습니다. 이 맥락에서는 사람들이 의도적으로 선택한 휴지통 비우기 작업을 확인하기 위해 Return 키를 누르는 편리함이 해당 작업을 수행하는 버튼이 파괴적이라는 것을 재확인시켜주는 것보다 더 큰 이점이 있습니다. 반대로, 사람들은 원래 의도하지 않았던 파괴적인 행동을 수행할 수 있는 버튼에 주의를 환기시키는 알림을 선호합니다.


파괴적인 작업인 경우 취소 버튼을 포함시켜 사람들이 해당 동작을 취소할 수 있는 명확하고 안전한 방법을 제공하세요. 알림을 취소하는 버튼에는 항상 '취소'라는 제목을 사용하세요. 취소 버튼을 기본 버튼으로 만들면 안 된다는 점에 유의하세요. 사람들이 자동으로 Return 키를 눌러 알림을 취소하는 것이 아니라 알림을 읽도록 유도하려면 어떤 버튼도 기본 버튼으로 만들지 마세요. 마찬가지로 하나의 버튼이 기본 버튼이기도 한 알림을 표시해야 하는 경우에는 취소 버튼이 아닌 완료 버튼을 사용하세요.


적절한 경우 알림을 취소할 수 있는 다른 방법을 제공하세요. 사람들은 취소 버튼을 선택하는 것 외에도 키보드 단축키나 다른 방법을 사용하여 화면상의 알림을 취소하는 것을 좋아합니다. 예를 들어 아래와 같은 방법이 있습니다.


Platform considerations


No additional considerations for tvOS or watchOS.


iOS, iPadOS

의도적인 작업과 관련된 선택 사항을 제공하려면 알림이 아닌 작업 시트를 사용하세요. 예를 들어 사람들이 편집 중인 메일 메시지를 취소하는 경우 작업 시트에서는 편집한 내용(또는 전체 초안) 삭제, 초안 저장 또는 편집으로 돌아가기 등 세 가지 선택 사항을 제공합니다. 경고는 사람들이 파괴적인 결과를 초래하는 작업을 확인하거나 취소하는 데 도움이 될 수도 있지만, 작업과 관련된 추가 선택 사항은 제공하지 않습니다. 가이드라인은 Action sheets를 참고하세요.


가능하면 스크롤되는 알림을 표시하지 않도록 하세요. 텍스트 크기가 충분히 크면 알림이 스크롤될 수 있지만, 알림 제목을 짧게 유지하고 필요한 경우에만 간단한 메시지를 포함하여 스크롤 가능성을 최소화해야 합니다.


macOS

macOS는 알림에 앱 아이콘을 자동으로 표시하지만, 대체 아이콘이나 기호를 지정할 수 있습니다. 

또한 macOS에서는

반복 알림을 구성하여 사용자가 동일한 알림의 후속 발생을 억제할 수 있도록 합니다.

추가 정보를 제공해야 하는 경우 사용자 지정 보기를 추가합니다.(개발자 가이드는 accessoryView 참고)

도움말 문서를 여는 도움말 버튼을 포함하세요.(Help buttons 참고)


주의 기호를 아껴서 사용하세요. exclamationmark.triangle과 같은 기호를 알림에 너무 자주 사용하면 그 중요성이 떨어집니다. 예기치 않은 데이터 손실을 초래할 수 있는 작업을 확인할 때처럼 추가적인 주의가 정말 필요한 경우에만 이 기호를 사용하세요. 저장 또는 휴지통 비우기와 같이 데이터를 덮어쓰거나 제거하는 것이 유일한 목적인 작업에는 이 기호를 사용하지 마세요.


visionOS

앱이 공유 공간에서 실행 중일 때 비전 OS는 창 앞의 z 축을 따라 약간 앞으로 알림을 표시합니다. 사람들이 알림을 해제하지 않고 창을 이동하면 알림은 창에 고정된 상태로 유지됩니다. 앱이 전체 공간에서 실행 중인 경우, 시스템은 착용자의 field of view에 알림을 표시합니다.


비전 OS 알림에 액세서리 보기를 표시해야 하는 경우 최대 높이가 154pt이고 모서리 반경이 16pt인 보기를 만듭니다.


Resources


Related   

Modality

Action sheets

Sheets


Developer documentation   

alert(_:isPresented:actions:) — SwiftUI

UIAlertController — UIKit

NSAlert — AppKit


Change log


Date February 2, 2024 | Enhanced guidance for using default and Cancel buttons.
Date September 12, 2023 | Added anatomy artwork for visionOS.
Date June 21, 2023 | Updated to include guidance for visionOS.


작가의 이전글 [HIG] Action sheets
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari