Virtual Keyboard Control - W3

15
Virtual Keyboard Control Bo Cupp & Anupam Snigdha

Transcript of Virtual Keyboard Control - W3

Page 1: Virtual Keyboard Control - W3

Virtual Keyboard ControlBo Cupp & Anupam Snigdha

Page 2: Virtual Keyboard Control - W3

Objective & Agenda

Objectives

• Build Consensus on Outstanding Issues• Is `navigator` the right place? · Issue #387 · MicrosoftEdge/MSEdgeExplainers (github.com)• Relationship with `VisualViewport` · Issue #389 · MicrosoftEdge/MSEdgeExplainers (github.com)• We should be precise about how show/hide relies on user activation · Issue #331 ·

MicrosoftEdge/MSEdgeExplainers (github.com)

• Identify New Issues

• Find a Spec Collaborator ☺

Agenda

• Presentation and Demo with Q&A• Adapting Layout• Controlling Visibility

• Issues Discussion

Page 3: Virtual Keyboard Control - W3

Adapting Layout to the Virtual Keyboard

Page 4: Virtual Keyboard Control - W3

UX Can Be Improved

Layou

t View

po

rt

Visu

al View

po

rt

Layou

t View

po

rt

Visu

al View

po

rt

• Wastes space• Unwanted panning

Page 5: Virtual Keyboard Control - W3

Visu

al View

po

rt

Layou

t View

po

rt

Page 6: Virtual Keyboard Control - W3

Before After

Page 7: Virtual Keyboard Control - W3

<style>.action-bar {

position: fixed;}@media (spanning: single-fold-vertical) {

@media (env(keyboard-inset-left) >= env(fold-right)) {.action-bar {

bottom: env(keyboard-inset-height, 0);}

}}

</style><script>navigator.virtualKeyboard.overlaysContent = true

</script>

Page 8: Virtual Keyboard Control - W3

<style>.action-bar {

position: fixed;}@media (spanning: single-fold-vertical) {

@media (env(keyboard-inset-left) >= env(fold-right)) {.action-bar {

bottom: env(keyboard-inset-height, 0);}

}}

</style><script>navigator.virtualKeyboard.overlaysContent = true

</script>

Page 9: Virtual Keyboard Control - W3

<style>.action-bar {

position: fixed;}@media (spanning: single-fold-vertical) {

@media (env(keyboard-inset-left) >= env(fold-right)) {.action-bar {

bottom: env(keyboard-inset-height, 0);}

}}

</style><script>navigator.virtualKeyboard.overlaysContent = true

</script>

Page 10: Virtual Keyboard Control - W3
Page 11: Virtual Keyboard Control - W3
Page 12: Virtual Keyboard Control - W3

Controlling Visibilityof the Virtual Keyboard

(DEMO)

Page 13: Virtual Keyboard Control - W3

Summary / Q&A

• Hide/show APIs to control Virtual Keyboard visibility

• Opt-in to not change viewports when Virtual Keyboard is shown

• New event and env variables to use in adapting layout

Page 14: Virtual Keyboard Control - W3

Issues for Discussion

• Is `navigator` the right place? · Issue #387 · MicrosoftEdge/MSEdgeExplainers (github.com)

• Relationship with `VisualViewport` · Issue #389 · MicrosoftEdge/MSEdgeExplainers (github.com)

• We should be precise about how show/hide relies on user activation · Issue #331 · MicrosoftEdge/MSEdgeExplainers (github.com)

Page 15: Virtual Keyboard Control - W3

Archive