If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: web.archive.org/web/20221101012819/https://github.com/WordPress/gutenberg/pull/45157 - Better regions and shortcut by.

site address: web.archive.org/web/20221204093614/https://github.com/WordPress/gutenberg/pull/45157 redirected to: web.archive.org/web/20221101012819/https://github.com/WordPress/gutenberg/pull/45157

site title: Better regions and shortcut by ellatrix · Pull Request #45157 · WordPress/gutenberg · GitHub

Our opinion (on Sunday 20 September 2026 15:28:28 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=What? [Please note that the code is still a WIP, but it works for testing.] As we are looking at changing tab behaviour in the editor (for list and code blocks), we need to strengthen other types of navigation. There s two existing mechanisms: Block navigation mode: press Escape. Regions: press (Shift+)Ctrl+` or Ctrl+Alt+N/P, both of which I find hard to remember. Proposal: additional regions with easier to remember shortcuts. The additional regions would be: The block toolbar Navigation mode Potentially before/after inserter for the selected block In addition to that, offer easier to remember shortcuts: Escape already enters Navigation mode, but does nothing further. Let it be used to enter the next region. Shift+Escape should reverse cycle through the regions, so from the selected block, it enters the block toolbar, from there the interface header, and so on. The (Shift+)Escape combination is a good indicator that it can be used to cycle through the regions, just like (Shift+)Tab can be used to cycle through tabbable elements. But Ella, won t Escape clash with existing behaviour? When a block is selected and focussed, we already use it for Navigation mode, which is now baked in the regions. In other places, it can be used for closing popovers and modals, but that s fine. First the popover or modal must be closed before you can continue cycling through the regions. It makes perfect sense to me. The main regions can be seen as the roundabout on which (Shift+)Escape can be used to navigate. (Shift+)Tab (default) or Arrow keys (navigation mode, toolbars) can be used to navigate more granularly. Why? We need a solid method to navigate the editor because (Shift+)Tab may no longer work when a block is focussed. A single unified way that is easy to remember will benefit all users greatly. How? Testing Instructions Select a block. Test Escape and Shift+Escape shortcuts. Screenshots or screencast;

Headings (most frequently used words):

commented, oct, 2022, ellatrix, 20, alexstine, 24, 25, better, regions, and, shortcut, 45157, footer, you, edited, 21, 26, conversation, what, why, how, testing, instructions, screenshots, or, screencast, are, sure, want, to, change, the, base, github, actions, bot, left, comment, navigation,

Text of the page (most frequently used words):
build (356), block (303), css (290), library (266), blocks (258), the (198), rtl (145), style (141), editor (132), this (84), and (71), min (66), for (60), index (60), escape (55), not (53), that (52), mode (51), you (41), #navigation (41), with (39), all (34), can (32), screen (32), 2022 (31), link (31), post (31), something (30), focus (29), oct (29), ctrl (28), theme (28), ellatrix (26), use (26), key (26), edit (25), tab (24), but (24), code (23), because (23), list (23), toolbar (23), shift (23), sorry (22), wrong (22), went (21), reactions (21), copy (21), regions (21), comments (20), does (20), are (20), alt (20), commented (20), reader (20), browse (20), have (19), windows (19), from (18), will (18), github (17), press (17), what (16), just (16), used (16), one (15), alexstine (15), should (15), how (15), author (15), view (15), another (14), content (14), work (14), would (14), using (14), why (14), switch (14), when (13), navigate (13), way (13), more (13), shortcuts (13), site (13), other (12), f10 (12), keys (12), title (12), shortcut (12), member (12), back (12), pagination (12), change (11), keyboard (11), open (11), image (11), etc (11), through (11), which (11), readers (11), about (10), cannot (10), applied (10), pull (10), accessibility (10), comment (10), think (10), find (10), browser (10), region (10), could (10), text (10), template (10), query (10), out (9), changes (9), issues (9), review (9), already (9), sign (9), now (9), there (9), contributor (9), default (9), going (9), dom (9), mac (9), nvda (9), jaws (9), widgets (9), has (8), close (8), don (8), before (8), users (8), they (8), any (8), gutenberg (8), move (8), cmd (8), applications (8), some (8), modes (8), application (8), better (8), form (8), 126 (8), columns (8), suggestions (7), while (7), request (7), only (7), a11y (7), forward (7), was (7), after (7), cycle (7), toolbars (7), still (7), get (7), much (7), works (7), based (7), 100 (7), sure (7), remember (7), currently (7), jump (7), button (7), file (7), suggestion (6), need (6), example (6), media (6), longer (6), alternatives (6), let (6), always (6), sense (6), hard (6), trying (6), role (6), modal (6), reusable (6), video (6), table (6), social (6), separator (6), search (6), pullquote (6), latest (6), group (6), gallery (6), embed (6), avatar (6), audio (6), contact (5), closed (5), were (5), may (5), well (5), improve (5), start (5), here (5), allow (5), try (5), maybe (5), people (5), same (5), common (5), things (5), too (5), usage (5), easy (5), makes (5), our (5), easier (5), everyone (5), also (5), then (5), next (5), question (5), switching (5), aria (5), sent (5), quote (5), links (5), virtual (5), commits (5), size (5), react (5), elements (5), base (5), refresh (4), your (4), security (4), terms (4), merge (4), been (4), must (4), existing (4), merging (4), writing (4), flow (4), account (4), insert (4), preformatted (4), know (4), right (4), where (4), thing (4), first (4), either (4), keep (4), position (4), inside (4), field (4), formatting (4), pressing (4), believe (4), different (4), https (4), function (4), see (4), modals (4), menus (4), okay (4), around (4), depending (4), really (4), working (4), make (4), doesn (4), thanks (4), discussions (4), clash (4), behavior (4), web (4), characters (4), two (4), those (4), old (4), event (4), good (4), input (4), html (4), classic (4), 174 (4), part (4), spacer (4), 116 (4), logo (4), rss (4), 121 (4), numbers (4), featured (4), excerpt (4), paragraph (4), page (4), posts (4), 108 (4), cover (4), categories (4), buttons (4), archives (4), actions (4), 45157 (4), time (3), multi (3), line (3), batch (3), single (3), projects (3), markup (3), labels (3), marcozehe (3), conversation (3), free (3), indent (3), mentioned (3), looking (3), lists (3), character (3), whether (3), positioned (3), agreed (3), multiple (3), most (3), appears (3), above (3), tricky (3), like (3), com (3), means (3), backwards (3), both (3), modifiers (3), native (3), tabs (3), options (3), pressed (3), exactly (3), modifier (3), without (3), adding (3), than (3), even (3), though (3), requested (3), might (3), many (3), types (3), project (3), look (3), certain (3), force (3), agree (3), dialog (3), want (3), situation (3), navigational (3), community (3), developers (3), fine (3), problems (3), solution (3), introduce (3), case (3), arrow (3), cursor (3), into (3), related (3), tree (3), reason (3), however (3), vendors (3), shortcode (3), nux (3), 571 (3), format (3), date (3), data (3), customize (3), components (3), 235 (3), 406 (3), 213 (3), 282 (3), 122 (3), 175 (3), directory (3), selected (3), unicode (3), trunk (3), branch (3), refname (3), wordpress (3), repository (3), signed (2), window (2), session (2), reload (2), action (2), blog (2), api (2), pricing (2), docs (2), privacy (2), footer (2), outdated (2), order (2), add (2), commit (2), per (2), none (2), yet (2), these (2), milestone (2), needs (2), feedback (2), selection (2), splitting (2), deletion (2), feature (2), impact (2), corresponding (2), least (2), kevin940726 (2), adamziel (2), tellthemachines (2), noisysocks (2), talldan (2), draganescu (2), ajitbohra (2), giving (2), test (2), yes (2), dynamic (2), such (2), tabbable (2), future (2), hence (2), put (2), wondering (2), closest (2), cycles (2), leave (2), inline (2), fix (2), give (2), hands (2), edge (2), closer (2), itself (2), correct (2), specifically (2), word (2), lot (2), editors (2), until (2), mean (2), voiceover (2), ways (2), apple (2), moving (2), seems (2), due (2), suggested (2), super (2), wrapped (2), little (2), closing (2), very (2), helps (2), cause (2), greatly (2), once (2), space (2), guess (2), left (2), forwards (2), macos (2), navigating (2), combination (2), act (2), emoji (2), quickly (2), mind (2), consistency (2), slightly (2), addition (2), having (2), problem (2), hope (2), continue (2), positioning (2), removed (2), likely (2), equal (2), fact (2), new (2), email (2), others (2), main (2), slack (2), idea (2), desktop (2), client (2), teams (2), mention (2), translate (2), plainly (2), proper (2), sites (2), comes (2), entering (2), probably (2), user (2), picture (2), apps (2), suggest (2), getting (2), 29526 (2), following (2), yeah (2), considered (2), added (2), great (2), systems (2), essentially (2), point (2), important (2), trust (2), worried (2), optimise (2), provide (2), saying (2), hurt (2), removing (2), differently (2), control (2), down (2), current (2), found (2), sometimes (2), ever (2), popovers (2), contains (2), grid (2), placed (2), bug (2), org (2), articles (2), further (2), called (2), system (2), please (2), nasty (2), 256 (2), i18n (2), preferences (2), 835 (2), 507 (2), serialization (2), parser (2), 478 (2), reset (2), 162 (2), verse (2), 166 (2), 101 (2), 253 (2), tag (2), cloud (2), 190 (2), 494 (2), 322 (2), 184 (2), tagline (2), 203 (2), 490 (2), 464 (2), 194 (2), 234 (2), 146 (2), 114 (2), 165 (2), 202 (2), 132 (2), read (2), 439 (2), 167 (2), 135 (2), 103 (2), 153 (2), 315 (2), 493 (2), 363 (2), 395 (2), nextpage (2), submenu (2), 115 (2), 431 (2), 284 (2), 880 (2), heading (2), 394 (2), freeform (2), 300 (2), 410 (2), 293 (2), 125 (2), 124 (2), 239 (2), calendar (2), 332 (2), 337 (2), 482 (2), 161 (2), 150 (2), 378 (2), styles (2), filename (2), 532 (2), edited (2), testing (2), focussed (2), behaviour (2), enters (2), nothing (2), additional (2), show (2), hidden (2), bidirectional (2), wants (2), load (2), tags (2), branches (2), issue (2), insights (2), requests (2), source (2), plan (2), manage (2), packages (2), capture (2), nov (2), perform, training, status, inc, queued, pending, reviews, marked, resolved, create, valid, applying, deleted, lines, supported, viewing, subset, invalid, made, participants, successfully, development, assigned, assignees, approving, required, reviewers, join, 45404, envision, improving, within, accessing, upload, include, specific, roving, tabindex, pattern, fair, figure, dynamically, chooses, tests, polish, alternative, separate, less, direction, backward, possible, c12e439, unreasonable, kind, clunky, constantly, adjusting, app, annoying, proof, away, approach, sigh, support, ht204436, feel, kept, displaying, harder, delete, backspace, generally, unless, fault, anyone, struggling, task, ones, conflicts, sidebar, own, conditions, goes, creative, crowded, browsers, option, similar, natively, solely, previous, course, neither, long, globe, dual, purpose, viewer, symbols, three, worse, often, forget, number, end, few, focussing, context, stuck, onwards, fits, care, consider, matter, accessed, matters, opinion, visual, appear, apologies, confused, includes, alias, stop, enhancements, usetabnav, 41645, pushing, blind, rarely, receive, education, sighted, painful, watched, myself, graduated, who, barely, check, their, incredibly, simple, odds, against, known, disagree, place, run, educational, program, basics, stuff, marco, able, tagging, help, explain, finer, points, provides, best, bar, whole, call, variation, alone, wrote, uses, knowledge, coming, stated, trickier, follow, perfectly, caps, lock, followed, hopefully, explains, bit, happened, unpredictable, gets, predictable, decide, editing, puts, typing, dialogs, knowing, confusing, effect, quite, respected, trouble, directly, responsible, echoing, reaction, skorasaurus, reacted, heart, tie, necessary, towards, maintain, slippery, slope, designing, devs, making, ensuring, experience, did, wake, day, say, come, level, independence, online, document, real, quick, said, between, letters, headings, fields, operate, almost, answers, actually, anyway, far, takes, menu, had, weird, shouldn, understand, hundreds, google, slides, answer, unable, inserted, receives, 43729, automatically, rely, switched, supposed, causes, becomes, useless, treegrid, expect, understanding, careful, roles, hijacking, every, pretty, hand, clue, occurring, dequeuniversity, screenreaders, webaim, reading, rather, unique, normally, remains, difference, intercept, enables, prevent, modification, over, sending, normal, events, distinct, talked, sends, allows, relies, bare, logic, behind, non, existent, elaborate, thoughts, usable, remove, together, step, supporting, especially, since, accessible, job, showing, parent, child, 45135, tried, refactor, handled, received, agreement, push, 44883, prs, exploring, global, reviewed, mamaduka, compressed, wordcount, 268, warning, viewport, inert, polyfill, url, 644, token, engine, server, side, render, rich, redux, routine, runtime, entry, 696, priority, queue, 933, primitives, persistence, plugins, 728, 732, 963, notices, utils, keycodes, 527, shallow, 448, entities, hooks, 868, experiments, 537, element, 547, 546, 324, ready, deprecated, 653, controls, core, compose, spec, 722, 719, 694, 691, 251, 609, 611, 673, 674, 409, 288, 289, 204, 226, 223, 278, 211, 221, 325, 326, 584, 586, 176, 281, 279, 443, 295, 296, 703, 705, 505, 263, 266, 462, 463, 212, 630, 627, 329, 327, 950, 948, 346, 254, 613, 612, 636, 637, 839, 840, 231, 209, 222, 123, 991, 990, 475, blob, autop, fetch, annotations, 982, unchanged, 109, 111, 192, 198, 199, 867, 169, total, bot, owners, label, 392e595, screenshots, screencast, select, instructions, solid, method, unified, benefit, seen, roundabout, granularly, places, popover, cycling, perfect, baked, ella, won, indicator, reverse, interface, header, enter, offer, potentially, inserter, proposal, mechanisms, changing, strengthen, note, wip, interpreted, compiled, below, reveals, learn, files, changed, checks, 343, timeline, become, choose, bottom, clicking, occasionally, send, emails, statement, service, password, address, pick, username, its, maintainers, 831, star, fork, notifications, public, message, organization, results, collections, trending, topics, repositories, readme, fund, sponsors, resources, customer, stories, studies, devsecops, devops, automation, compare, enterprise, solutions, skills, documentation, features, explore, collaborate, outside, track, write, copilot, instant, dev, environments, codespaces, vulnerabilities, host, automate, workflow, product, toggle, skip, wayback, machine, http, archive, 20221101012819, timestamps, fail, success, 2023, 2021, dec,


Text of the page (random words):
e css 100 b build block library blocks preformatted style rtl css 103 b build block library blocks preformatted style css 103 b build block library blocks pullquote editor rtl css 135 b build block library blocks pullquote editor css 135 b build block library blocks pullquote style rtl css 326 b build block library blocks pullquote style css 325 b build block library blocks pullquote theme rtl css 167 b build block library blocks pullquote theme css 167 b build block library blocks query pagination numbers editor rtl css 122 b build block library blocks query pagination numbers editor css 121 b build block library blocks query pagination editor rtl css 221 b build block library blocks query pagination editor css 211 b build block library blocks query pagination style rtl css 282 b build block library blocks query pagination style css 278 b build block library blocks query title style rtl css 63 b build block library blocks query title style css 63 b build block library blocks query editor rtl css 439 b build block library blocks query editor css 439 b build block library blocks quote style rtl css 213 b build block library blocks quote style css 213 b build block library blocks quote theme rtl css 223 b build block library blocks quote theme css 226 b build block library blocks read more style rtl css 132 b build block library blocks read more style css 132 b build block library blocks rss editor rtl css 202 b build block library blocks rss editor css 204 b build block library blocks rss style rtl css 289 b build block library blocks rss style css 288 b build block library blocks search editor rtl css 165 b build block library blocks search editor css 165 b build block library blocks search style rtl css 409 b build block library blocks search style css 406 b build block library blocks search theme rtl css 114 b build block library blocks search theme css 114 b build block library blocks separator editor rtl css 146 b build block library blocks separator editor css 146 b build block library blocks separator style rtl css 234 b build block library blocks separator style css 234 b build block library blocks separator theme rtl css 194 b build block library blocks separator theme css 194 b build block library blocks shortcode editor rtl css 464 b build block library blocks shortcode editor css 464 b build block library blocks site logo editor rtl css 490 b build block library blocks site logo editor css 490 b build block library blocks site logo style rtl css 203 b build block library blocks site logo style css 203 b build block library blocks site tagline editor rtl css 86 b build block library blocks site tagline editor css 86 b build block library blocks site title editor rtl css 116 b build block library blocks site title editor css 116 b build block library blocks site title style rtl css 57 b build block library blocks site title style css 57 b build block library blocks social link editor rtl css 184 b build block library blocks social link editor css 184 b build block library blocks social links editor rtl css 674 b build block library blocks social links editor css 673 b build block library blocks social links style rtl css 1 4 kb build block library blocks social links style css 1 39 kb build block library blocks spacer editor rtl css 322 b build block library blocks spacer editor css 322 b build block library blocks spacer style rtl css 48 b build block library blocks spacer style css 48 b build block library blocks table editor rtl css 494 b build block library blocks table editor css 494 b build block library blocks table style rtl css 611 b build block library blocks table style css 609 b build block library blocks table theme rtl css 190 b build block library blocks table theme css 190 b build block library blocks tag cloud style rtl css 251 b build block library blocks tag cloud style css 253 b build block library blocks template part editor rtl css 235 b build block library blocks template part editor css 235 b build block library blocks template part theme rtl css 101 b build block library blocks template part theme css 101 b build block library blocks text columns editor rtl css 95 b build block library blocks text columns editor css 95 b build block library blocks text columns style rtl css 166 b build block library blocks text columns style css 166 b build block library blocks verse style rtl css 87 b build block library blocks verse style css 87 b build block library blocks video editor rtl css 691 b build block library blocks video editor css 694 b build block library blocks video style rtl css 174 b build block library blocks video style css 174 b build block library blocks video theme rtl css 126 b build block library blocks video theme css 126 b build block library classic rtl css 162 b build block library classic css 162 b build block library common rtl css 1 02 kb build block library common css 1 02 kb build block library editor elements rtl css 75 b build block library editor elements css 75 b build block library editor rtl css 11 2 kb build block library editor css 11 2 kb build block library elements rtl css 54 b build block library elements css 54 b build block library reset rtl css 478 b build block library reset css 478 b build block library theme rtl css 719 b build block library theme css 722 b build block serialization default parser index min js 1 12 kb build block serialization spec parser index min js 2 83 kb build blocks index min js 49 9 kb build components style rtl css 11 3 kb build components style css 11 3 kb build compose index min js 12 2 kb build core data index min js 15 5 kb build customize widgets index min js 11 3 kb build customize widgets style rtl css 1 38 kb build customize widgets style css 1 38 kb build data controls index min js 653 b build data index min js 8 08 kb build date index min js 32 1 kb build deprecated index min js 507 b build dom ready index min js 324 b build dom index min js 4 7 kb build edit navigation index min js 16 1 kb build edit navigation style rtl css 3 99 kb build edit navigation style css 4 kb build edit post classic rtl css 546 b build edit post classic css 547 b build edit post style rtl css 7 13 kb build edit post style css 7 13 kb build edit widgets style rtl css 4 34 kb build edit widgets style css 4 34 kb build editor style rtl css 3 62 kb build editor style css 3 61 kb build element index min js 4 68 kb build escape html index min js 537 b build experiments index min js 868 b build format library index min js 6 95 kb build format library style rtl css 571 b build format library style css 571 b build hooks index min js 1 64 kb build html entities index min js 448 b build i18n index min js 3 77 kb build is shallow equal index min js 527 b build keyboard shortcuts index min js 1 78 kb build keycodes index min js 1 83 kb build list reusable blocks index min js 2 13 kb build list reusable blocks style rtl css 835 b build list reusable blocks style css 835 b build media utils index min js 2 93 kb build notices index min js 963 b build nux index min js 2 06 kb build nux style rtl css 732 b build nux style css 728 b build plugins index min js 1 94 kb build preferences persistence index min js 2 22 kb build primitives index min js 933 b build priority queue index min js 1 58 kb build react i18n index min js 696 b build react refresh entry index min js 8 44 kb build react refresh runtime index min js 7 31 kb build redux routine index min js 2 74 kb build reusable blocks index min js 2 21 kb build reusable blocks style rtl css 256 b build reusable blocks style css 256 b build rich text index min js 10 6 kb build server side render index min js 1 77 kb build shortcode index min js 1 53 kb build style engine index min js 1 46 kb build token list index min js 644 b build url index min js 3 61 kb build vendors inert polyfill min js 2 48 kb build vendors react dom min js 38 5 kb build vendors react min js 4 34 kb build viewport index min js 1 08 kb build warning index min js 268 b build widgets index min js 7 21 kb build widgets style rtl css 1 18 kb build widgets style css 1 19 kb build wordcount index min js 1 06 kb compressed size action all reactions sorry something went wrong mamaduka requested a review from alexstine oct 20 2022 alexstine reviewed oct 20 2022 view changes copy link contributor alexstine left a comment ellatrix thanks for exploring this and trying to find a global solution however we must not use escape or shift escape for any reason going forward this has nasty issues for accessibility on windows and i am trying to back us out of this situation not introduce more issues maybe look at using ctrl f6 and ctrl shift f6 related prs if you look at the commits on this pr i tried to refactor how focus was handled i received agreement from another contributor but push back from another 44883 i am trying to get the list view usable so we can remove navigation mode all together 45135 this is a really good step i just cannot see supporting multiple systems especially since the list view is very much accessible and the tree view does a great job of showing me parent child blocks thoughts sorry something went wrong all reactions copy link member author ellatrix commented oct 20 2022 however we must not use escape or shift escape for any reason going forward this has nasty issues for accessibility on windows and i am trying to back us out of this situation not introduce more issues could you elaborate on this we are using escape already and it s super common for web apps to use this shortcut all reactions sorry something went wrong copy link contributor alexstine commented oct 20 2022 ellatrix okay please bare with me the logic behind this is non existent jaws and nvda on windows have the two distinct modes as i ve talked about before one is a mode that sends all keyboard input to the application this is called edit focus mode depending on the screen reader on windows the other mode is called browse virtual mode which allows you to move the screen reader cursor around the screen browse mode however does not move the system focus that is why it we should go for edit focus mode in gutenberg because the editor relies on the system focus as developers we do not have control over the screen reader cursor another reason to keep screen readers sending input to gutenberg as normal keyboard events getting to the point the escape key does something rather unique on windows this key is used to switch in to browse virtual mode from edit focus mode normally when screen readers are in focus edit mode all the keyboard input remains going to the application the escape key is the only difference screen readers intercept the escape event and enables browse virtual mode there is no way to prevent this in gutenberg even with an event modification further reading https webaim org articles jaws https dequeuniversity com screenreaders nvda keyboard shortcuts as you can see the escape key is really the only key we can for sure not use based on screen readers hijacking it s usage if the screen reader were to switch in to browse virtual mode every time we press escape to navigate to another region it would get pretty out of hand quickly as users would have little clue as to why all the mode switching was occurring picture this screen reader focus is placed on a block press shift escape to focus the block toolbar the screen reader will switch to browse virtual mode because of escape usage but then will switch back as it comes in contact with the role toolbar aria can force screen readers in to different modes which is why it is important to be careful with aria roles i do not expect you to ever have a good understanding of this from mac because voiceover does not work this way one more example which is a current bug in nvda only focus a block press escape to focus the next region if the next region contains a button inside a certain aria role nvda will switch to browse mode automatically and will rely on the user to switch it back this is why we switched the list view to be wrapped in role application even though the role treegrid is supposed to force nvda in to edit focus mode so our arrow keys can navigate the tree grid when focus is placed on the options button for the block the mode changes back to browse mode due to the bug this causes our input to no longer be sent to the tree grid and there for it becomes essentially useless related issues list view certain screen readers still switch modes when options button receives focus 43729 unable to edit blocks once they ve been inserted into content while using a screen reader 29526 comment sorry this is so hard to understand but you are going to have to trust me that this is not a good idea just because other applications use it does not make it right i could list hundreds of problems with google docs slides etc probably not the answer you were looking for but hope it helps thanks all reactions sorry something went wrong copy link member author ellatrix commented oct 20 2022 so we shouldn t be using escape ever how do you suggest we close modals popovers etc all reactions sorry something went wrong copy link contributor alexstine commented oct 20 2022 ellatrix ah you found the only use for escape in applications using escape inside a modal is okay because the screen reader is already likely in browse mode anyway as far as menus go sometimes depending on the markup escape on first press does not work with screen readers because of the mode switching sometimes it takes 1 escape press to switch to browse mode and 1 escape press to close the menu i agree it doesn t make sense because in browse mode keys are not sent to the application but escape seems to have always had some weird behavior this way all reactions sorry something went wrong copy link member author ellatrix commented oct 20 2022 i don t get it if they key down event is not sent to the application in browse mode how can the modal be closed on escape all reactions sorry something went wrong copy link member author ellatrix commented oct 20 2022 i m worried that we start to optimise too much for screen readers while we do provide alternatives to use from what you re saying it doesn t hurt allow the usage of escape it s just that you cannot use it on windows in that case you can still use the old shortcuts to navigate regions i m not removing those all reactions sorry something went wrong copy link member author ellatrix commented oct 20 2022 in fact this pr is actually adding two other ways to get to navigation mode with the current region shortcuts all reactions sorry something went wrong copy link contributor alexstine commented oct 20 2022 ellatrix answers i don t get it if they key down event is not sent to the application in browse mode how can the modal be closed on escape yeah i believe it is considered to be a navigational key and that is why it works just like tab tab key really does not act that differently between the different modes the le...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)
  • loading
  • ellatrix
  • @ellatrix
  • better-regions
  • @ellatrix
  • @ellatrix
  • @github-actions
  • @Mamaduka
  • alexstine
  • @alexstine
  • @ellatrix
  • @alexstine
  • @alexstine
  • @ajitbohra
  • @draganescu
  • @talldan
  • @noisysocks
  • @tellthemachines
  • @adamziel
  • @kevin940726
  • @MarcoZehe
  • @ellatrix
  • @alexstine

Verified site has: 88 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-88


The site also has references to the 2 subdomain(s)

  archive.org  Verify   help.archive.org  Verify


The site also has 1 references to other resources (not html/xhtml )

 web.archive.org/web/20221101012819/htt___.gif  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 302 FOUND
Server nginx
Date Sun, 20 Sep 2026 15:28:24 GMT
Content-Type text/plain; charset=utf-8
Content-Length 0
Connection close
x-archive-redirect-reason found capture at 20221101012819
location htt???/web.archive.org/web/20221101012819/htt????/github.com/WordPress/gutenberg/pull/45157
server-timing captures_list;dur=0.393802, exclusion.robots;dur=0.040901, exclusion.robots.policy;dur=0.033516, esindex;dur=0.006190, cdx.remote;dur=12.292369, LoadShardBlock;dur=138.504100, PetaboxLoader3.datanode;dur=61.116884, PetaboxLoader3.resolve;dur=13.725353
x-app-server wwwb-app221-dc8
x-ts 302
x-tr 169
server-timing TR;dur=0,Tw;dur=2354,Tc;dur=1
set-cookie wb-p-SERVER=wwwb-app221; path=/
X-location All
X-AS 16276
X-RL 0
X-NA 0
X-Page-Cache MISS
Server-Timing MISS
X-NID OVH SAS
Referrer-Policy no-referrer-when-downgrade
Permissions-Policy interest-cohort=()
X-sd 0
HTTP/1.1 200 OK
Server nginx
Date Sun, 20 Sep 2026 15:28:28 GMT
Content-Type text/html; charset=utf-8
Transfer-Encoding chunked
Connection close
x-archive-orig-server GitHub.com
x-archive-orig-date Tue, 01 Nov 2022 01:28:20 GMT
x-archive-orig-cache-control no-cache
x-archive-orig-content-security-policy default-src none ; base-uri self ; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src self uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action self github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors none ; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src self data: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com objects-origin.githubusercontent.com secured-user-images.githubusercontent.com/ opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com *.githubusercontent.com; manifest-src self ; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/; script-src github.githubassets.com; style-src unsafe-inline github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/
x-archive-orig-referrer-policy no-referrer-when-downgrade
x-archive-orig-server-timing pull_request_layout-fragment;desc= pull_request_layout fragment ;dur=416.306612,conversation_content-fragment;desc= conversation_content fragment ;dur=677.336967,conversation_sidebar-fragment;desc= conversation_sidebar fragment ;dur=306.193434,nginx;desc= NGINX ;dur=1.201481,glb;desc= GLB ;dur=7.910376
x-archive-orig-strict-transport-security max-age=31536000; includeSubdomains; preload
x-archive-orig-vary X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With
x-archive-orig-x-content-type-options nosniff
x-archive-orig-x-frame-options deny
x-archive-orig-x-pjax-url htt????/github.com/WordPress/gutenberg/pull/45157
x-archive-orig-x-voltron-version cc85742
x-archive-orig-x-xss-protection 0
x-archive-orig-accept-ranges bytes
x-archive-orig-x-github-request-id ACD0:1612:1A8F485:278154F:63607633
x-archive-orig-connection close
x-archive-guessed-content-type text/html
x-archive-guessed-charset utf-8
x-archive-orig-content-encoding gzip
memento-datetime Tue, 01 Nov 2022 01:28:19 GMT
link <htt????/github.com/WordPress/gutenberg/pull/45157>; rel= original , <htt???/web.archive.org/web/timemap/link/htt????/github.com/WordPress/gutenberg/pull/45157>; rel= timemap ; type= application/link-format , <htt???/web.archive.org/web/htt????/github.com/WordPress/gutenberg/pull/45157>; rel= timegate , <htt???/web.archive.org/web/20221101012819/htt????/github.com/WordPress/gutenberg/pull/45157>; rel= first memento ; datetime= Tue, 01 Nov 2022 01:28:19 GMT , <htt???/web.archive.org/web/20221101012819/htt????/github.com/WordPress/gutenberg/pull/45157>; rel= memento ; datetime= Tue, 01 Nov 2022 01:28:19 GMT , <htt???/web.archive.org/web/20221101012819/htt????/github.com/WordPress/gutenberg/pull/45157>; rel= last memento ; datetime= Tue, 01 Nov 2022 01:28:19 GMT
content-security-policy default-src self unsafe-eval unsafe-inline data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src WPO-20221101005831-crawl107/WPO-20221101005831-21083.warc.gz
server-timing captures_list;dur=0.460466, exclusion.robots;dur=0.051032, exclusion.robots.policy;dur=0.041322, esindex;dur=0.007840, cdx.remote;dur=5.389185, LoadShardBlock;dur=278.295268, PetaboxLoader3.datanode;dur=210.923034, PetaboxLoader3.resolve;dur=556.142874, load_resource;dur=581.221000, nav;dur=0.180739
x-app-server wwwb-app264-dc8
x-ts 200
x-tr 1140
server-timing TR;dur=0,Tw;dur=3116,Tc;dur=2
set-cookie wb-p-SERVER=wwwb-app264; path=/
X-location All
X-AS 16276
X-RL 0
X-NA 0
X-Page-Cache MISS
Server-Timing MISS
X-NID OVH SAS
Referrer-Policy no-referrer-when-downgrade
Permissions-Policy interest-cohort=()
X-sd 0
Content-Encoding gzip

Meta Tags

title="Better regions and shortcut by ellatrix · Pull Request #45157 · WordPress/gutenberg · GitHub"
charset="utf-8"
name="optimizely-datafile" content='{"groups": [], "environmentKey": "production", "rollouts": [], "typedAudiences": [], "projectId": "16737760170", "variables": [], "featureFlags": [], "experiments": [], "version": "4", "audiences": [{"conditions": "[\"or\", {\"match\": \"exact\", \"name\": \"$opt_dummy_attribute\", \"type\": \"custom_attribute\", \"value\": \"$opt_dummy_value\"}]", "id": "$opt_dummy_audience", "name": "Optimizely-Generated Audience for Backwards Compatibility"}], "anonymizeIP": true, "sdkKey": "WTc6awnGuYDdG98CYRban", "attributes": [{"id": "16822470375", "key": "user_id"}, {"id": "17143601254", "key": "spammy"}, {"id": "18175660309", "key": "organization_plan"}, {"id": "18813001570", "key": "is_logged_in"}, {"id": "19073851829", "key": "geo"}, {"id": "20175462351", "key": "requestedCurrency"}, {"id": "20785470195", "key": "country_code"}, {"id": "21656311196", "key": "opened_downgrade_dialog"}], "botFiltering": false, "accountId": "16737760170", "events": [{"experimentIds": [], "id": "17911811441", "key": "hydro_click.dashboard.teacher_toolbox_cta"}, {"experimentIds": [], "id": "18124116703", "key": "submit.organizations.complete_sign_up"}, {"experimentIds": [], "id": "18145892387", "key": "no_metric.tracked_outside_of_optimizely"}, {"experimentIds": [], "id": "18178755568", "key": "click.org_onboarding_checklist.add_repo"}, {"experimentIds": [], "id": "18180553241", "key": "submit.repository_imports.create"}, {"experimentIds": [], "id": "18186103728", "key": "click.help.learn_more_about_repository_creation"}, {"experimentIds": [], "id": "18188530140", "key": "test_event"}, {"experimentIds": [], "id": "18191963644", "key": "click.empty_org_repo_cta.transfer_repository"}, {"experimentIds": [], "id": "18195612788", "key": "click.empty_org_repo_cta.import_repository"}, {"experimentIds": [], "id": "18210945499", "key": "click.org_onboarding_checklist.invite_members"}, {"experimentIds": [], "id": "18211063248", "key": "click.empty_org_repo_cta.create_repository"}, {"experimentIds": [], "id": "18215721889", "key": "click.org_onboarding_checklist.update_profile"}, {"experimentIds": [], "id": "18224360785", "key": "click.org_onboarding_checklist.dismiss"}, {"experimentIds": [], "id": "18234832286", "key": "submit.organization_activation.complete"}, {"experimentIds": [], "id": "18252392383", "key": "submit.org_repository.create"}, {"experimentIds": [], "id": "18257551537", "key": "submit.org_member_invitation.create"}, {"experimentIds": [], "id": "18259522260", "key": "submit.organization_profile.update"}, {"experimentIds": [], "id": "18564603625", "key": "view.classroom_select_organization"}, {"experimentIds": [], "id": "18568612016", "key": "click.classroom_sign_in_click"}, {"experimentIds": [], "id": "18572592540", "key": "view.classroom_name"}, {"experimentIds": [], "id": "18574203855", "key": "click.classroom_create_organization"}, {"experimentIds": [], "id": "18582053415", "key": "click.classroom_select_organization"}, {"experime...
name="request-id" content="ACD0:1612:1A8F485:278154F:63607633" data-pjax-transient="true"
name="html-safe-nonce" content="e271436ac93593514cee06efee014afb13e12800461d84b2c2fa2cb660809d4f" data-pjax-transient="true"
name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vbWFrZS53b3JkcHJlc3Mub3JnL2FjY2Vzc2liaWxpdHkvMjAyMi8xMC8yMi9hY2Nlc3NpYmlsaXR5LXRlYW0tbWVldGluZy1ub3Rlcy1vY3RvYmVyLTE5LTIwMjIvIiwicmVxdWVzdF9pZCI6IkFDRDA6MTYxMjoxQThGNDg1OjI3ODE1NEY6NjM2MDc2MzMiLCJ2aXNpdG9yX2lkIjoiNDEzNjY2OTAxNTE2NDk5NDU1MSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9" data-pjax-transient="true"
name="visitor-hmac" content="f45018267040be5e90cefc5d3c6246a785375674148104b2fcf89e6428aca8da" data-pjax-transient="true"
name="hovercard-subject-tag" content="pull_request:1093713866" data-turbo-transient
name="github-keyboard-shortcuts" content="repository,pull-request-list,pull-request-conversation,pull-request-files-changed" data-turbo-transient="true"
name="selected-link" value="repo_pulls" data-turbo-transient
name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"
name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"
name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"
name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"
name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"
name="octolytics-url" content="htt????/collector.github.com/github/collect"
name="analytics-location" content="/<user-name>/<repo-name>/voltron/pull_requests_fragments/pull_request_layout" data-turbo-transient="true"
name="user-login" content=""
name="viewport" content="width=device-width"
name="description" content="What? [Please note that the code is still a WIP, but it works for testing.] As we are looking at changing tab behaviour in the editor (for list and code blocks), we need to strengthen other types of navigation. There's two existing mechanisms: Block navigation mode: press Escape. Regions: press (Shift+)Ctrl+` or Ctrl+Alt+N/P, both of which I find hard to remember. Proposal: additional regions with easier to remember shortcuts. The additional regions would be: The block toolbar Navigation mode Potentially before/after inserter for the selected block In addition to that, offer easier to remember shortcuts: Escape already enters Navigation mode, but does nothing further. Let it be used to enter the next region. Shift+Escape should reverse cycle through the regions, so from the selected block, it enters the block toolbar, from there the interface header, and so on. The (Shift+)Escape combination is a good indicator that it can be used to cycle through the regions, just like (Shift+)Tab can be used to cycle through tabbable elements. But Ella, won't Escape clash with existing behaviour? When a block is selected and focussed, we already use it for Navigation mode, which is now baked in the regions. In other places, it can be used for closing popovers and modals, but that's fine. First the popover or modal must be closed before you can continue cycling through the regions. It makes perfect sense to me. The main regions can be seen as the roundabout on which (Shift+)Escape can be used to navigate. (Shift+)Tab (default) or Arrow keys (navigation mode, toolbars) can be used to navigate more granularly. Why? We need a solid method to navigate the editor because (Shift+)Tab may no longer work when a block is focussed. A single unified way that is easy to remember will benefit all users greatly. How? Testing Instructions Select a block. Test Escape and Shift+Escape shortcuts. Screenshots or screencast"
property="fb:app_id" content="1401488693436528"
name="apple-itunes-app" content="app-id=1477376905"
name="twitter:image:src" content="htt????/opengraph.githubassets.com/59a6fab16345a2d8aa749fd04f90bc15a04c7129c4039c0583927e68bc8df64b/WordPress/gutenberg/pull/45157"
name="twitter:site" content="@github"
name="twitter:card" content="summary_large_image"
name="twitter:title" content="Better regions and shortcut by ellatrix · Pull Request #45157 · WordPress/gutenberg"
name="twitter:description" content="What? [Please note that the code is still a WIP, but it works for testing.] As we are looking at changing tab behaviour in the editor (for list and code blocks), we need to strengthen other types o..."
property="og:image" content="htt???/web.archive.org/web/20221101012819im_/htt????/opengraph.githubassets.com/59a6fab16345a2d8aa749fd04f90bc15a04c7129c4039c0583927e68bc8df64b/WordPress/gutenberg/pull/45157"
property="og:image:alt" content="What? [Please note that the code is still a WIP, but it works for testing.] As we are looking at changing tab behaviour in the editor (for list and code blocks), we need to strengthen other types o..."
property="og:image:width" content="1200"
property="og:image:height" content="600"
property="og:site_name" content="GitHub"
property="og:type" content="object"
property="og:title" content="Better regions and shortcut by ellatrix · Pull Request #45157 · WordPress/gutenberg"
property="og:url" content="htt???/web.archive.org/web/20221101012819/htt????/github.com/WordPress/gutenberg/pull/45157"
property="og:description" content="What? [Please note that the code is still a WIP, but it works for testing.] As we are looking at changing tab behaviour in the editor (for list and code blocks), we need to strengthen other types o..."
name="hostname" content="github.com"
name="expected-hostname" content="github.com"
name="enabled-features" content="ACTIONS_RUN_NAME,IMAGE_METRIC_TRACKING,GEOJSON_AZURE_MAPS,STRICT_DEFERRED_DIFF_LINES_CHECKS"
http-equiv="x-pjax-version" content="a5001b1fe614a76d24f67d5f3812b654f713d2ccf5579a30e716580f88e69a9b" data-turbo-track="reload"
http-equiv="x-pjax-csp-version" content="40aca5a152a13213a876f7628c466cd600db12fb858cdddccc3f1cc387eb7dad" data-turbo-track="reload"
http-equiv="x-pjax-css-version" content="2f4eef761e53eea0ecdd62ddce27e88f36eedecf5c9100d24ad75146a6e9aa2c" data-turbo-track="reload"
http-equiv="x-pjax-js-version" content="011bdac74e6d18da7bff21d7523aa8931d49c77bd0a3b58cef90fbac9fb7d4b7" data-turbo-track="reload"
name="turbo-cache-control" content="no-preview" data-turbo-transient=""
name="voltron-timing" value="682"
name="go-import" content="github.com/WordPress/gutenberg git htt????/github.com/WordPress/gutenberg.git"
name="octolytics-dimension-user_id" content="276006"
name="octolytics-dimension-user_login" content="WordPress"
name="octolytics-dimension-repository_id" content="80862584"
name="octolytics-dimension-repository_nwo" content="WordPress/gutenberg"
name="octolytics-dimension-repository_public" content="true"
name="octolytics-dimension-repository_is_fork" content="false"
name="octolytics-dimension-repository_network_root_id" content="80862584"
name="octolytics-dimension-repository_network_root_nwo" content="WordPress/gutenberg"
name="turbo-body-classes" content="logged-out env-production page-responsive"
name="browser-stats-url" content="htt????/api.github.com/_private/browser/stats"
name="browser-errors-url" content="htt????/api.github.com/_private/browser/errors"
name="browser-optimizely-client-errors-url" content="htt????/api.github.com/_private/browser/optimizely_client/errors"
name="theme-color" content="#1e2327"
name="color-scheme" content="light dark"

Load Info

page size86016
load time (s)7.679432
redirect count1
speed download11201
server IP 207.241.237.3
* all occurrences of the string "http://" have been changed to "htt???/"