สิทธิ์แบบครั้งเดียวใน Chrome

เราจะเพิ่มตัวเลือกอนุญาตครั้งนี้ลงในข้อความแจ้งขอสิทธิ์ โดยจะเริ่มทยอยเปิดตัวอย่างค่อยเป็นค่อยไปตั้งแต่ Chrome 116 เป็นต้นไป เป้าหมายของเราคือการช่วยให้ผู้ใช้ใช้ความสามารถอันทรงพลังของเว็บได้ง่ายขึ้นตามเงื่อนไขของตนเอง อนุญาตครั้งนี้จะพร้อมใช้งานบนเดสก์ท็อปสำหรับสิทธิ์ที่พบบ่อยที่สุดบางอย่าง ได้แก่ ตำแหน่งทางภูมิศาสตร์ กล้อง และไมโครโฟน ข้อความแจ้งขอสิทธิ์สำหรับความสามารถอื่นๆ และบนเว็บบนมือถือจะยังคงเหมือนเดิมในตอนนี้ แต่อาจมีการเปลี่ยนแปลงในอนาคต

หากคุณเป็นเจ้าของเว็บไซต์ โปรดดูผลกระทบและคำแนะนำ แล้วลองใช้เดโม

UX ใหม่สำหรับสิทธิ์

UX ของสิทธิ์ก่อน Chrome 116

ข้อความแจ้งขอสิทธิ์ที่แสดงเฉพาะบล็อกและอนุญาต
ข้อความแจ้งขอสิทธิ์ก่อน Chrome 116

ผู้ใช้จะเห็นตัวเลือก 3 ตัวเลือกต่อไปนี้

  • อนุญาต: อนุญาตแบบถาวร
  • บล็อก: บล็อกถาวร
  • คลิกปุ่ม x: บล็อกชั่วคราว เว็บไซต์จะแจ้งให้ผู้ใช้ทราบอีกครั้งในภายหลังได้ไม่เกิน 3 ครั้ง

คุณจัดการสิทธิ์ได้ผ่านการควบคุมเว็บไซต์ในแถบที่อยู่หรือผ่านการตั้งค่าเว็บไซต์

UX สิทธิ์ใหม่จาก Chrome 116

ข้อความแจ้งขอสิทธิ์พร้อมตัวเลือกใหม่แบบครั้งเดียว
ข้อความแจ้งขอสิทธิ์พร้อมตัวเลือกใหม่แบบครั้งเดียว นี่คือข้อความแจ้งขอสิทธิ์ใหม่บนเดสก์ท็อปสำหรับตำแหน่งทางภูมิศาสตร์ กล้อง และไมโครโฟน

ผู้ใช้จะมีตัวเลือก 4 อย่างดังนี้

  • อนุญาตในครั้งนี้: อนุญาตชั่วคราว
  • อนุญาตทุกครั้งที่เข้าชม: อนุญาตแบบถาวร
  • ไม่อนุญาต: บล็อกถาวร
  • คลิกปุ่ม x: บล็อกชั่วคราว

เมื่อผู้ใช้เลือกอนุญาตในครั้งนี้ สิทธิ์ที่ให้จะเป็นสิทธิ์ชั่วคราว หรือที่เรียกว่าสิทธิ์ครั้งเดียว ระยะเวลาของเซสชันจะจำกัดอยู่แค่การโต้ตอบที่กำลังดำเนินอยู่กับเว็บแอปพลิเคชัน

คุณจัดการสิทธิ์แบบครั้งเดียวได้เหมือนกับสิทธิ์อื่นๆ ผ่านการควบคุมเว็บไซต์หรือการตั้งค่าเว็บไซต์

ประโยชน์ของผู้ใช้และการออกแบบ UX ของ "อนุญาตครั้งนี้"

อนุญาตในครั้งนี้จะช่วยให้ผู้ใช้ทำสิ่งต่อไปนี้ได้

  • ควบคุมได้มากขึ้น การวิจัยผู้ใช้ Chrome แสดงให้เห็นว่าผู้ใช้มักจะไม่พร้อมที่จะตัดสินใจให้สิทธิ์ของเว็บไซต์อย่างถาวร โดยพยายามประเมินว่าตนจะได้รับประโยชน์ใดตอบแทนจากการให้สิทธิ์ การเสนอตัวเลือก "อนุญาต" แบบครั้งเดียวจะตอบสนองความต้องการนี้และทำให้การอนุญาตสิทธิ์เข้าถึงมีความเสี่ยงน้อยลง
  • เพิ่มความชัดเจน ตัวเลือกอนุญาตในครั้งนี้และอนุญาตทุกครั้งที่เข้าชมอย่างชัดเจนจะทำให้ทราบว่าตัวเลือกหนึ่งเป็นแบบชั่วคราว ส่วนอีกตัวเลือกหนึ่งเป็นแบบถาวร

สิทธิ์ครั้งเดียวในเบราว์เซอร์อื่นๆ

บนเว็บ เบราว์เซอร์หลายตัวรองรับสิทธิ์แบบครั้งเดียว ซึ่งรวมถึง Safari และ Firefox หากต้องการดูว่าสิทธิ์เหล่านี้ทำงานบนอุปกรณ์ของคุณอย่างไร ให้ทดลองใช้ https://permission.site/one-time อย่าลืมลองใช้สิทธิ์ตำแหน่งทางภูมิศาสตร์ กล้อง และไมโครโฟน เนื่องจากสิทธิ์เหล่านี้อาจมีลักษณะการทำงานที่เฉพาะเจาะจง

เช่น

  • ใน Safari 16 บนเดสก์ท็อป ตำแหน่งทางภูมิศาสตร์จะเป็นแบบครั้งเดียวโดยค่าเริ่มต้น (จนกว่าจะมีการไปยังส่วนต่างๆ ครั้งถัดไป) ผู้ใช้เลือกให้ระบบเก็บสิทธิ์เข้าถึงไว้เป็นเวลา 24 ชั่วโมงได้ผ่านช่องทำเครื่องหมาย
  • ใน Firefox 115 บนเดสก์ท็อป การอนุญาตตำแหน่งทางภูมิศาสตร์ กล้อง และไมโครโฟนจะเป็นแบบครั้งเดียวโดยค่าเริ่มต้น ผู้ใช้เลือกรับสิทธิ์เข้าถึงแบบถาวรได้ผ่านช่องทําเครื่องหมาย

ผลกระทบและคำแนะนำ

ผลกระทบของสิทธิ์ครั้งเดียว

  • การเปิดตัวสิทธิ์แบบครั้งเดียวจะไม่ส่งผลต่อสิทธิ์ที่ผู้ใช้เคยให้ไว้แบบถาวร
  • เมื่อผู้ใช้ตัดสินใจเกี่ยวกับข้อความแจ้งขอสิทธิ์แล้ว สถานะสิทธิ์จะได้รับอนุญาตหรือถูกปฏิเสธตลอดระยะเวลาที่ผู้ใช้เข้าชม สิทธิ์ครั้งเดียวไม่มีผลในเรื่องนี้
  • อย่างไรก็ตาม หากผู้ใช้เลือกอนุญาตครั้งนี้ ผู้ใช้จะเห็นข้อความแจ้งขอสิทธิ์อีกครั้งในการเข้าชมครั้งถัดไป

เราขอแนะนำให้เจ้าของเว็บไซต์ทำดังนี้เพื่อรองรับสิทธิ์แบบครั้งเดียว

แนวทางปฏิบัติแนะนำ

อนุญาตครั้งนี้อาจทำให้ผู้คนมีแนวโน้มที่จะให้สิทธิ์เพื่อลองใช้ความสามารถต่างๆ มากขึ้น แต่ก็อาจลดความเต็มใจที่จะให้สิทธิ์เข้าถึงแบบถาวรด้วย ดังนั้นการทำตามแนวทางปฏิบัติแนะนำจึงมีความสำคัญมากยิ่งขึ้น

  • ระบุบริบทที่จำเป็นก่อนขอสิทธิ์ อธิบายให้ผู้ใช้ทราบว่าเหตุใดความสามารถจึงเป็นประโยชน์ต่อผู้ใช้
  • ขอสิทธิ์ในเวลาที่เหมาะสมและคาดการณ์ไว้ ในอุดมคติแล้ว คุณควรให้ผู้ใช้แสดงความตั้งใจที่จะใช้ความสามารถบางอย่างได้ตามต้องการ
  • ตลอดระยะเวลาที่ผู้ใช้เข้าชม ให้มอบประสบการณ์เดียวกันไม่ว่าผู้ใช้จะเลือกตัวเลือกแบบครั้งเดียวหรือแบบถาวรก็ตาม

ดูคำแนะนำเพิ่มเติมได้ในUX ของสิทธิ์

การหมดอายุของสิทธิ์ครั้งเดียว

โดยค่าเริ่มต้น สิทธิ์ของเว็บทั้งหมดจะเชื่อมโยงกับต้นทาง ซึ่งถือได้ว่าเป็นแอปของตัวเอง เมื่อเลือกอนุญาตเวลานี้ ผู้ใช้จะให้สิทธิ์ครั้งเดียวแก่ต้นทาง โดยพื้นฐานแล้ว สิทธิ์แบบครั้งเดียวจะหมดอายุเมื่อผู้ใช้หยุดโต้ตอบกับต้นทางนั้นอย่างต่อเนื่องเป็นระยะเวลาหนึ่ง ซึ่งหมายความว่าเว็บไซต์จะใช้ความสามารถต่อไปได้หากผู้ใช้เปลี่ยนไปใช้หน้าเว็บอื่นในแท็บอื่นชั่วครู่แล้วกลับมา

กล่าวโดยละเอียดคือ สิทธิ์ครั้งเดียวจะหมดอายุทันทีที่ตรงตามเงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้

  • หน้าเว็บถูกปิด ผู้ใช้ไปยังหน้าอื่น หรือยกเลิก ซึ่งรวมถึงการปิด Chrome ด้วย
  • เวลาผ่านไป 16 ชั่วโมงนับตั้งแต่ให้สิทธิ์
  • ผู้ใช้เพิกถอนสิทธิ์ด้วยตนเอง (เช่น ในการควบคุมเว็บไซต์) หรือมีการลบล้างสิทธิ์ผ่านนโยบายขององค์กร
  • หน้าเว็บอยู่ในเบื้องหลังอย่างน้อย 5 นาที ยกเว้นในกรณีที่อนุญาตให้ความสามารถทำงานในเบื้องหลังได้ เช่น กล้องหรือไมโครโฟน ในกรณีนี้ ตราบใดที่เว็บไซต์ใช้ความสามารถดังกล่าว Chrome จะแสดงตัวบ่งชี้แนวแท็บและจะไม่เริ่มตัวจับเวลา 5 นาทีจนกว่าหน้าเว็บจะหยุดใช้ความสามารถดังกล่าว โปรดทราบว่าตัวจับเวลา 16 ชั่วโมงยังคงทำงานอยู่

แท็บเบื้องหลัง

แท็บเบราว์เซอร์จะอยู่ในเบื้องหลังเมื่อไม่ได้อยู่ในเบื้องหน้า แท็บจะอยู่เบื้องหน้าเมื่อเป็นแท็บที่มองเห็นได้ในหน้าต่างเบราว์เซอร์ที่ไม่ได้ย่อ

ใน Chrome ความสามารถบางอย่าง เช่น ตำแหน่งทางภูมิศาสตร์ จะทำงานได้เฉพาะในแท็บที่อยู่เบื้องหน้าเท่านั้น และไม่อนุญาตให้ทำงานในแท็บพื้นหลัง ส่วนฟีเจอร์อื่นๆ เช่น กล้องและไมโครโฟน จะทำงานในแท็บพื้นหลังได้

ภาพหน้าจอของหน้าต่างเบราว์เซอร์ที่ไฮไลต์แท็บที่ใช้งานอยู่ด้านหน้าและแท็บที่ไม่ได้ใช้งานอยู่เบื้องหลัง

ตัวบ่งชี้แนวแท็บ

ความสามารถที่ทำงานต่อไปเมื่อแท็บอยู่ในเบื้องหลังจะมีตัวบ่งชี้แนวแท็บ เช่น กล้องมีตัวบ่งชี้แนวแท็บ

แท็บที่มีจุดสีแดง
ตัวบ่งชี้แท็บสำหรับการเข้าถึงกล้องคือจุดสีแดง

ตำแหน่งทางภูมิศาสตร์ไม่จำเป็นต้องมีตัวบ่งชี้แนวแท็บ เนื่องจากระบบจะหยุดการเข้าถึงตำแหน่งทางภูมิศาสตร์ชั่วคราวทันทีที่หน้าเว็บอยู่ในเบื้องหลัง

ตัวอย่าง

  • ตำแหน่งทางภูมิศาสตร์: ผู้ใช้อยู่ใน example.com และให้สิทธิ์เข้าถึงตำแหน่งทางภูมิศาสตร์แบบครั้งเดียว ผู้ใช้เปลี่ยนไปใช้แท็บอื่น ซึ่งจะทำให้ example.com เป็นแท็บพื้นหลัง ระบบจะหยุดการเข้าถึงตำแหน่งทางภูมิศาสตร์ชั่วคราวทันทีเนื่องจาก Chrome ไม่อนุญาตให้เข้าถึงตำแหน่งทางภูมิศาสตร์ในเบื้องหลัง แต่สิทธิ์ครั้งเดียวยังคงใช้ได้ หากผู้ใช้กลับมาที่ example.com ภายใน 5 นาที หน้าเว็บจะกลับมาเข้าถึงตำแหน่งทางภูมิศาสตร์ได้ (และระบบจะรีเซ็ตตัวจับเวลาการหมดอายุ 5 นาที) หากไม่ดำเนินการดังกล่าว สิทธิ์ครั้งเดียวจะหมดอายุ
  • กล้อง/ไมโครโฟน: ผู้ใช้อยู่ใน example.com และให้สิทธิ์เข้าถึงกล้องแบบครั้งเดียว ผู้ใช้เปลี่ยนไปใช้แท็บอื่น ซึ่งจะทำให้ example.com เป็นแท็บพื้นหลัง การเข้าถึงกล้องจะดำเนินการต่อได้เนื่องจาก Chrome อนุญาตให้เข้าถึงกล้องต่อในเบื้องหลัง Chrome จะแสดงตัวบ่งชี้แนวแท็บสำหรับกล้องตราบใดที่ยังมีการใช้งานอยู่เพื่อให้ผู้ใช้ทราบ เมื่อถึงจุดหนึ่ง เว็บไซต์อาจตัดสินใจหยุดการเข้าถึงกล้อง ในกรณีนี้ ตัวตั้งเวลาหมดอายุ 5 นาทีจะเริ่มทำงาน หลังจากผ่านไป 5 นาทีโดยไม่มีสิทธิ์เข้าถึงกล้อง สิทธิ์ครั้งเดียวจะหมดอายุ

Permissions API

หากต้องการค้นหาสถานะของสิทธิ์ API คุณสามารถใช้ Permissions API ได้โดยทำดังนี้

  • หากผู้ใช้เลือกอนุญาตครั้งนี้ ระบบจะตั้งค่าสถานะ Permission API เป็น granted ซึ่งหมายความว่าสิทธิ์ครั้งเดียวที่ยังไม่หมดอายุและสิทธิ์แบบถาวรจะแยกกันไม่ออกและมีสถานะเดียวกันคือ granted
  • เมื่อสิทธิ์แบบครั้งเดียวหมดอายุแล้ว ระบบจะเปลี่ยนสถานะกลับเป็น prompt
  • หากต้องการสังเกตการหมดอายุของสิทธิ์ครั้งเดียว ให้ลงทะเบียนตัวแฮนเดิลเหตุการณ์ PermissionStatus.onchange

สาธิต

  1. เปิด Chrome 116 ขึ้นไปในคอมพิวเตอร์เดสก์ท็อป
  2. เปิด chrome://flags/#one-time-permission แล้วเลือกเปิดใช้ รีสตาร์ท Chrome ขั้นตอนนี้จะบังคับเปิดใช้สิทธิ์แบบครั้งเดียวในกรณีที่ยังไม่ได้เปิดตัวในเบราว์เซอร์ Chrome
  3. เปิด https://permission.site/one-time
  4. คลิกปุ่มตำแหน่งทางภูมิศาสตร์
  5. สังเกตข้อความแจ้งขอสิทธิ์ครั้งเดียวใหม่
  6. เลือกอนุญาตในครั้งนี้
  7. เปิดการควบคุมเว็บไซต์ โปรดสังเกตว่าคุณจัดการสิทธิ์แบบครั้งเดียวได้
  8. ปิดแท็บสำหรับ https://permission.site/one-time ตรวจสอบว่าไม่มีแท็บอื่นสำหรับต้นทางนั้นเปิดอยู่
  9. เปิด https://permission.site/one-time ในแท็บใหม่
  10. เปิดการควบคุมเว็บไซต์ ไปที่การตั้งค่าเว็บไซต์
  11. สังเกตว่าสิทธิ์ตำแหน่งทางภูมิศาสตร์กลับไปอยู่ที่สถานะเริ่มต้นแล้ว ซึ่งก็คือถาม (ค่าเริ่มต้น)

บทสรุปและความคิดเห็น

สิทธิ์แบบครั้งเดียวช่วยให้ผู้ใช้มีตัวเลือกมากขึ้น และ UI สิทธิ์ใหม่ของ Chrome จะมอบประสบการณ์การใช้งานสิทธิ์ที่สอดคล้องกันมากขึ้นในเบราว์เซอร์และแพลตฟอร์มต่างๆ

หากพบปัญหาเกี่ยวกับสิทธิ์แบบครั้งเดียว โปรดสร้างปัญหา crbug ใหม่สำหรับข้อความแจ้งขอสิทธิ์

คำขอบคุณ

ขอขอบคุณ Rachel Andrew, Serena Chen, Balazs Engedy, Marian Harbach, Florian Jacky และ Thomas Steiner ที่ตรวจสอบบทความนี้