_content: added 'ESC' event handler to avoid focus trap.

https://screencast.googleplex.com/cast/NTYwNTg4MTkwODU1OTg3Mnw3Mzg5NzAyNi04Ng

Change-Id: I4246a560be1dbbd1f7a8126715940373249f5ac8
Reviewed-on: https://go-review.googlesource.com/c/website/+/517778
Auto-Submit: Jamal Carvalho <jamal@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Jamal Carvalho <jamal@golang.org>
Reviewed-by: Jamal Carvalho <jamal@golang.org>
diff --git a/_content/js/site.js b/_content/js/site.js
index 3f397ed..09ac6f3 100644
--- a/_content/js/site.js
+++ b/_content/js/site.js
@@ -54,20 +54,28 @@
         e.target.classList.add('forced-closed');
         e.target.classList.remove('forced-open');
       });
-      // ensure desktop submenus are closed when esc is pressed
-      const closeSubmenuOnEsc = e => {
+      
+      // ensure focus is removed when esc is pressed
+      const focusOutOnEsc = e => {
         if (e.key === 'Escape') {
-          const forcedOpenItem = document.querySelector('.forced-open');
-          const target = e.currentTarget;
-          if (forcedOpenItem) {
-            forcedOpenItem.classList.remove('forced-open');
-            forcedOpenItem.blur();
-            forcedOpenItem.classList.add('forced-closed');
+          const textarea = document.getElementById('code');
+          if (e.target == textarea) {
+            e.preventDefault();
+            textarea.blur();
+          }
+          else {
+            const forcedOpenItem = document.querySelector('.forced-open');
+            const target = e.currentTarget;
+            if (forcedOpenItem) {
+              forcedOpenItem.classList.remove('forced-open');
+              forcedOpenItem.blur();
+              forcedOpenItem.classList.add('forced-closed');
+              e.target.focus();
+            }
           }
         }
-        e.target.focus();
       };
-      document.addEventListener('keydown', closeSubmenuOnEsc);
+      document.addEventListener('keydown', focusOutOnEsc);
     });
 
     // Mobile menu subnav menus
@@ -212,18 +220,6 @@
     handleNavigationDrawerInactive(header);
   }
 
-  function registerPlaygroundListeners() {
-    const textarea = document.getElementById('code');
-    const preContainer = document.querySelector('.Playground-preContainer');
-
-    textarea?.addEventListener('keydown', e => {
-      if (e.key === 'Escape') {
-        e.preventDefault();
-        textarea.blur();
-      }
-    });
-  }
-
   /**
    * Attempts to detect user's operating system and sets the download
    * links accordingly
@@ -359,7 +355,6 @@
 
   const onPageLoad = () => {
     registerHeaderListeners();
-    registerPlaygroundListeners();
     setDownloadLinks();
     setThemeButtons();
     setVersionSpans();