편집기 부가기능은 Apps Script의 HTML 서비스를 사용하여 사용자 인터페이스 (메뉴, 사이드바, 대화상자)를 빌드합니다. 인터페이스는 HTML 및 CSS로 개발되므로 맞춤설정이 매우 쉽습니다. 그러나 부가기능 인터페이스를 빌드할 때는 우수한 사용자 환경을 제공하도록 설계해야 합니다.
가장 좋은 부가기능은 익숙한 컨트롤과 동작을 사용하여 각 편집기를 자연스럽게 확장합니다. 새 부가기능을 빌드할 때:
- HTML 서비스 페이지에서 부가기능 CSS 패키지를 사용합니다.
- 디자인에 관해 확실하지 않은 경우 편집기에서 유사한 대화상자나 사이드바를 찾아 일치시키거나 부가기능 빠른 시작을 참고하세요.
- 이 스타일 가이드를 따라 원활한 환경을 만드세요.
텍스트
부가기능 이름
게시할 때 부가기능의 이름을 설정해야 합니다. 이름은 부가기능 스토어 및 메뉴와 같은 여러 위치에 표시됩니다.
- 단어 첫 글자를 대문자로 표기합니다.
- 브랜드의 일부가 아닌 한 구두점, 특히 괄호는 사용하지 마세요.
- 30자(영문 기준) 이하로 짧게 작성하는 것이 좋습니다. 이름이 너무 길면 자동으로 잘릴 수 있습니다.
- 부가기능이 제공되는 Google 제품의 이름을 포함하거나 'Google'이라는 단어를 사용하지 마세요.
- 버전 정보를 제외합니다.
- 부가기능의 게시된 이름이 스크립트 프로젝트의 파일 이름과 동일한지 확인합니다. 프로젝트 이름이 승인 대화상자에 표시됩니다.
금지사항 | 권장사항 |
---|---|
작성 스타일
많이 작성할 필요는 없습니다. 대부분의 작업은 아이콘, 레이아웃, 짧은 라벨을 통해 명확하게 표시되어야 합니다. 부가기능의 일부에 짧은 라벨로 제공하기보다 더 자세한 설명이 필요한 경우 부가기능을 설명하는 별도의 웹페이지를 만들어 링크를 연결하는 것이 좋습니다.
UI 텍스트를 작성할 때는 다음을 참고하세요.
- 문장 첫 글자를 대문자로 표기하는 규칙을 사용합니다 (특히 버튼, 라벨, 메뉴 항목의 경우).
- 전문 용어나 약어를 사용하지 않는 짧고 간단한 텍스트를 사용하세요.
금지사항 | 권장사항 |
---|---|
|
|
설치 후 도움말
설치 후 도움말은 사용자가 부가기능을 설치한 직후에 표시되며 도움말에도 표시됩니다. 사용자가 빠르게 시작할 수 있도록 몇 문장이 있습니다.
- 동사부터 시작합니다.
- 부가기능을 사용하는 첫 번째 단계를 설명합니다.
- 사이드바와 같은 기본 UI가 있는 경우 이를 여는 방법을 설명합니다.
- 여기에서 부가기능을 홍보하지 마세요. 이미 설치되어 있습니다.
금지사항 | 권장사항 |
---|---|
메뉴 항목
일반 Apps Script 프로젝트와 달리 부가기능은 스크립트 편집기 또는 스크립트 관리자에 표시되지 않으므로 사용자는 부가기능 스크립트를 직접 실행할 수 없습니다. 대신 모든 부가기능이 부가기능 메뉴에 표시됩니다. 메뉴 (및 대화상자 또는 사이드바)를 통해 사용자는 부가기능과 상호작용할 수 있습니다.
- 메뉴는 사용자가 부가기능을 제어하는 데 중요한 부분이므로 구조와 문구를 신중하게 디자인하세요.
- 부가기능의 이름을 단순히 반복하는 메뉴 항목은 피하세요. 대신 액션 단어로 시작합니다.
- 기본 메뉴 항목이 워크플로를 시작하고 그 기능을 설명하는 단일 동사가 없는 경우 '시작'이라고 합니다. 이 패턴은 Docs 부가기능 빠른 시작에서 사용됩니다.
- 메뉴에 항목이 6개를 초과하지 않는 한 하위 메뉴를 사용하지 않는 것이 좋습니다. 까다로워서 선택하기 어려울 수 있습니다.
- 메뉴 항목에 표시되는 UI 구성요소가 아닌 작업을 설명합니다.
금지사항 | 권장사항 |
---|---|
오류 메시지
문제가 발생하면 평이한 언어를 사용하는 것이 중요합니다. 사용자의 관점에서 문제를 설명하고 해결 방법을 제안합니다.
- 사용자가 코드에서 발생하는 예외를 보지 못하도록 합니다. 대신
try...catch
문을 사용하여 예외를 가로챈 다음 부가기능 CSS 패키지 또는 알림 대화상자의error
클래스로 스타일이 지정된 인라인 텍스트가 포함된 사용자 친화적인 오류 메시지를 표시합니다. - 게시하기 전에 부가기능이 JavaScript 콘솔에 디버그 정보를 로깅하지 않는지 확인합니다. 대신 Stackdriver Logging을 사용하세요.
금지사항 | 권장사항 |
---|---|
헬프(도움말) 콘텐츠
모든 부가기능의 메뉴에는 자동 도움말 대화상자가 포함되어 있습니다. 게시할 때 도움말 URL을 제공하면 '자세히 알아보기' 버튼이 해당 페이지로 연결됩니다. 부가기능이 설명이 필요 없는 경우 사용 방법을 설명하는 페이지를 제공하세요.
- 가능하면 글머리기호 또는 번호가 매겨진 목록으로 안내를 표시하세요. 이름이 지정된 UI 요소를 명확하게 참조하여 사용자를 최종 결과로 안내합니다.
- 특정 방식으로 스프레드시트를 설정하는 것과 같은 요구사항을 지침에 명확하게 설명해야 합니다.
- 기본 사용자 인터페이스에서도 도움말 콘텐츠로 연결할 수 있습니다. 부가기능이 새 문서를 만드는 경우 문서 본문에 안내를 표시할 수도 있습니다.
맞춤 사용자 인터페이스
일부 간단한 편집기 부가기능은 메뉴로 완전히 제어할 수 있지만 대부분은 맞춤 콘텐츠가 포함된 측면 패널 또는 대화상자를 표시합니다.
- 사이드바는 사용자가 문서 또는 스프레드시트의 콘텐츠를 참고하는 동안 반복적으로 사용할 가능성이 높은 지속적인 도구에 가장 적합합니다.
- 대화상자는 일회용 도구, 설정 페이지, 중요한 메시지에 가장 적합합니다.
UI 텍스트
대화상자나 사이드바에서는 사용자가 제목과 버튼 라벨만 읽는다고 가정합니다. 사용자는 여전히 인터페이스의 기능을 파악하고 적절한 선택을 할 수 있나요?
- 제목과 버튼 라벨을 단독으로 사용합니다.
- 긴 설명 텍스트 블록을 피하세요.
대화상자
대화상자는 사용자가 한 번 사용한 후 계속 진행하는 도구에 적합합니다. 예를 들어 사용자가 그래픽을 삽입할 수 있는 부가기능을 사용하는 경우 삽입할 항목을 선택할 수 있는 대화상자를 표시한 다음 그래픽이 삽입되면 대화상자를 닫을 수 있습니다. 대화상자는 부가기능 설정을 표시하거나 중요한 메시지를 전달하는 데도 유용합니다.
- 다른 대화상자에서 대화상자 (알림 또는 메시지 포함)를 열지 마세요. 한 번에 하나만 표시하세요.
- 대화상자 제목에는 가장 중요한 단어를 먼저 사용하여 단어 또는 짧은 문구를 사용하세요.
- 버튼 라벨은 대화상자 제목과 관련이 있어야 합니다.
- 일반적으로 기본 작업과 '취소'라는 두 가지 버튼을 사용하는 것이 좋습니다. 세 번째 버튼이 필요한 특별한 경우에는 오른쪽 하단을 고려하세요.
- 대화상자의 왼쪽 하단에 버튼을 배치합니다. 파란색 기본 버튼은 왼쪽에 있고 회색 보조 버튼은 오른쪽에 있어야 합니다.
금지사항 | 권장사항 |
---|---|
메뉴
사이드바를 사용하면 사용자가 선택하는 동안 문서, 스프레드시트, 프레젠테이션 또는 양식을 다시 참고할 수 있습니다. 또한 사용자가 부가기능을 반복적으로 사용할 수 있습니다. 새 사이드바가 열릴 때마다 이전 사이드바가 자동으로 닫힙니다. 사용자가 완료 시 종료하는 임시 모드에 가장 적합합니다.
- 사용자에게 자체 사이드바가 있는 다른 부가기능이 있을 수 있습니다. 두 개의 부가기능이 사이드바를 동시에 열려고 하면 하나만 표시됩니다.
- 문서를 처음 열 때 사이드바나 대화상자를 표시하지 않습니다.
AuthMode.FULL
에서 작동하는 부가기능만 사이드바 또는 대화상자를 열 수 있습니다. 메뉴 항목을 사용하여 사이드바를 열 수 있습니다. 그러면 사용자에게 전체 승인을 제공하라는 메시지가 표시됩니다.
컨트롤
우수한 부가기능 UI는 컨트롤에 여유 공간을 둡니다. 적절한 여백과 패딩은 큰 도움이 되지만 컨트롤이 너무 많으면 부담스러울 수 있습니다. 확실하지 않은 경우 편집기 자체에서 레이아웃을 빌리세요. 예를 들어 Google Docs에서 파일 > 페이지 설정과 같은 기존 대화상자를 검토한 후 직접 만드세요.
부가기능 CSS 패키지 문서에는 아래의 각 컨트롤 유형에 관한 샘플 마크업이 제공됩니다.
버튼
일반 링크나 기타 요소 대신 버튼을 사용하여 사용자 인터페이스의 기본 작업을 제어합니다.
- 한 번에 파란색, 빨간색, 녹색 버튼을 두 개 이상 표시하지 마세요. 회색 버튼이 반복해서 표시될 수 있습니다.
- 대부분의 버튼 라벨은 문장 부호를 사용하고 동사로 시작해야 합니다. 일반적으로 만들기 작업에 사용되는 빨간색 버튼은 대문자를 사용해야 합니다.
금지사항 | 권장사항 |
---|---|
|
|
체크박스 및 라디오 버튼
사용자가 여러 옵션을 선택하거나 옵션을 선택하지 않을 수 있는 경우 체크박스를 사용합니다. 정확히 하나의 옵션을 선택해야 하는 경우 라디오 버튼 (또는 선택 메뉴)을 사용하세요.
- 라디오 버튼을 모방하기 위해 체크박스의 동작을 변경하지 마세요.
- 확인되면 즉시 아무것도 하지 마세요. 사람은 실수를 하기 마련입니다. 사용자가 버튼을 클릭하여 선택사항을 확인할 때까지 기다립니다.
메뉴 선택
선택 항목은 대안을 간단히 나열하는 데 유용합니다.
- 옵션을 알파벳순으로 정렬하거나 모든 사용자가 이해할 수 있는 논리적 스키마 (예: 일요일부터 시작하는 요일)로 정렬합니다.
- 목록이 너무 길어지면 다른 컨트롤을 사용하는 것이 좋습니다. 예를 들어 스크롤 가능한 목록을 표시하여 메뉴에 더 많은 공간을 확보하고 탐색을 쉽게 할 수 있습니다.
텍스트 영역
사용자가 몇 단어 이상 입력해야 하는 경우 텍스트 영역을 사용하세요.
- 텍스트 영역을 두 줄 이상으로 설정하여 더 쉽게 사용하고 텍스트 필드처럼 보이지 않도록 합니다.
- 라벨을 맨 위에 배치합니다.
입력란
사용자가 단어를 한두 개만 입력해야 하는 경우 텍스트 필드를 사용하세요.
- 텍스트 필드의 너비는 사용자가 입력할 내용을 암시해야 합니다.
- 자리표시자 텍스트는 포커스가 있을 때 사라지므로 라벨로 사용하지 마세요. 자리표시자 텍스트는 예시나 추가 세부정보를 제공하는 데 유용합니다.
- 라벨은 맨 위에 배치하되 짧은 텍스트 입력란은 나란히 배치해도 됩니다.
브랜딩
부가기능에서
브랜딩을 포함하려면 간단하고 가볍게 유지하세요. 이렇게 하면 사용자가 UI에 집중할 수 있고 부가기능이 편집기의 일부처럼 느껴집니다.
- 부가기능의 모든 측면은 브랜딩 가이드라인을 준수해야 합니다.
- 'Google'이라는 단어를 포함하거나 Google 제품 아이콘을 사용하지 마세요.
- 텍스트는 몇 단어 이하여야 하며 부가기능 CSS 패키지의
gray
클래스로 스타일을 지정해야 합니다. - 그래픽은 흰색 배경에 있어야 하며 크기는 200x60픽셀 이하여야 합니다.
- 대화상자의 경우 브랜딩이 오른쪽 하단에 있어야 합니다.
- 사이드바의 경우 브랜딩은 상단 또는 하단에 있을 수 있습니다.
매장
편집기 부가기능을 게시하려면 여러 이미지 저작물이 필요합니다. 이러한 애셋은 부가기능 스토어 등록정보를 구성하는 데 사용됩니다.
접근성
색상을 다르게 보거나 스크린 리더를 사용하거나 다른 니즈가 있는 등 누구나 부가기능을 즐길 수 있어야 합니다. 접근성은 이 스타일 가이드에서 완전히 다룰 수 없는 광범위한 주제입니다. Google 접근성 사이트가 유용한 리소스입니다. 다음은 시작하는 데 도움이 되는 몇 가지 도움말입니다.
- 키보드로 모든 UI 컨트롤로 이동할 수 있는지 확인합니다. 사용자가 탭하여 이동할 수 있도록 맞춤 컨트롤 (예:
<div>
로 만든 컨트롤)에tabindex=0
를 추가합니다. 목록의 화살표와 같은 다른 키도 지원해야 하는지 고려하세요. - 일부 사용자는 부가기능과 함께 스크린 리더를 사용할 수 있습니다. 따라서 이미지에는
alt
속성이 있어야 하며 맞춤 컨트롤에는 사용을 설명하는 ARIA 속성이 있어야 합니다. - 상태를 전달하는 데 색상만 사용하지 마세요. 아이콘과 텍스트도 사용하세요.
이 가이드 앞부분에 설명된 것과 같은 표준 웹 컨트롤을 사용하면 부가기능에 액세스하기가 더 쉽습니다.