From 69a40ef8d8dcc907e2e288cdaf429309e6787ef1 Mon Sep 17 00:00:00 2001 From: Yury Delendik <ydelendik@mozilla.com> Date: Tue, 1 May 2012 11:43:48 -0500 Subject: [PATCH 1/2] Fixes tab order and focus highlight --- web/viewer.css | 7 +++++++ web/viewer.html | 29 ++++++++++++++++------------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/web/viewer.css b/web/viewer.css index 2397f7ef5..f771fd7e6 100644 --- a/web/viewer.css +++ b/web/viewer.css @@ -44,6 +44,7 @@ body { bottom: 0; left: -200px; width: 200px; + visibility: hidden; -moz-transition-property: left; -moz-transition-duration: 200ms; -moz-transition-timing-function: ease; @@ -52,6 +53,7 @@ body { -webkit-transition-timing-function: ease; } #outerContainer.sidebarOpen > #sidebarContainer { + visibility: visible; left: 0px; } @@ -175,6 +177,7 @@ body { } .splitToolbarButton:hover > .toolbarButton, +.splitToolbarButton:focus > .toolbarButton, .splitToolbarButton.toggled > .toolbarButton { background-color: hsla(0,0%,0%,.12); background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); @@ -193,6 +196,7 @@ body { -webkit-transition-timing-function: ease; } .splitToolbarButton > .toolbarButton:hover, +.splitToolbarButton > .toolbarButton:focus, .dropdownToolbarButton:hover { background-color: hsla(0,0%,0%,.2); box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, @@ -261,6 +265,7 @@ body { } .toolbarButton:hover, +.toolbarButton:focus, .dropdownToolbarButton { background-color: hsla(0,0%,0%,.12); background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); @@ -515,10 +520,12 @@ body { -moz-transition-duration: 150ms; } +a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage, .thumbnail:hover > .thumbnailSelectionRing > .thumbnailImage { opacity: .9; } +a:focus > .thumbnail > .thumbnailSelectionRing, .thumbnail:hover > .thumbnailSelectionRing { background-color: hsla(0,0%,100%,.15); background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); diff --git a/web/viewer.html b/web/viewer.html index 63dbcc608..6711a67d1 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -43,8 +43,8 @@ <div id="sidebarContainer"> <div id="toolbarSidebar"> <div class="splitToolbarButton toggled"> - <button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')"></button> - <button id="viewOutline" class="toolbarButton" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')"></button> + <button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')" tabindex="1"></button> + <button id="viewOutline" class="toolbarButton" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')" tabindex="2"></button> </div> </div> <div id="sidebarContent"> @@ -61,36 +61,39 @@ <div id="toolbarViewer"> <div id="toolbarViewerLeft"> - <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar"></button> + <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="3"></button> <div class="toolbarButtonSpacer"></div> <div class="splitToolbarButton"> - <button class="toolbarButton pageUp" title="Previous Page" onclick="PDFView.page--" id="previous"></button> + <button class="toolbarButton pageUp" title="Previous Page" onclick="PDFView.page--" id="previous" tabindex="4"></button> <div class="splitToolbarButtonSeparator"></div> - <button class="toolbarButton pageDown" title="Next Page" onclick="PDFView.page++" id="next"></button> + <button class="toolbarButton pageDown" title="Next Page" onclick="PDFView.page++" id="next" tabindex="5"></button> </div> <div class="toolbarLabel">Page: </div> - <input type="number" id="pageNumber" class="toolbarField pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1"> + <input type="number" id="pageNumber" class="toolbarField pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1" tabindex="6"> </input> <span id="numPages" class="toolbarLabel"></span> </div> <div id="toolbarViewerRight"> - <input id="fileInput" class="fileInput" type="file" oncontextmenu="return false;"/> + <input id="fileInput" class="fileInput" type="file" oncontextmenu="return false;" tabindex="10" /> - <!-- <button id="print" class="toolbarButton print" title="Print" onclick="window.print()"></button> --> - <button id="download" class="toolbarButton download" title="Download" onclick="PDFView.download();"></button> + <!-- <input id="fileInput" class="fileInput" type="file" oncontextmenu="return false;" style="visibility: hidden; position: fixed; right: 0; top: 0" /> --> + <!-- <button id="openFile" class="toolbarButton print" title="Open" tabindex="10" onclick="document.getElementById('fileInput').click()"></button> --> + + <!-- <button id="print" class="toolbarButton print" title="Print" tabindex="11" onclick="window.print()"></button> --> + <button id="download" class="toolbarButton download" title="Download" onclick="PDFView.download();" tabindex="12"></button> <!-- <div class="toolbarButtonSpacer"></div> --> - <a href="#" id="viewBookmark" class="toolbarButton bookmark" title="Bookmark (or copy) current location"> + <a href="#" id="viewBookmark" class="toolbarButton bookmark" title="Bookmark (or copy) current location" tabindex="13"> </a> </div> <div class="outerCenter"> <div class="innerCenter" id="toolbarViewerMiddle"> <div class="splitToolbarButton"> - <button class="toolbarButton zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();"></button> + <button class="toolbarButton zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();" tabindex="7"></button> <div class="splitToolbarButtonSeparator"></div> - <button class="toolbarButton zoomIn" title="Zoom In" onclick="PDFView.zoomIn();"></button> + <button class="toolbarButton zoomIn" title="Zoom In" onclick="PDFView.zoomIn();" tabindex="8"></button> </div> <span class="dropdownToolbarButton"> - <select id="scaleSelect" onchange="PDFView.parseScale(this.value);" oncontextmenu="return false;"> + <select id="scaleSelect" onchange="PDFView.parseScale(this.value);" oncontextmenu="return false;" tabindex="9"> <option id="pageAutoOption" value="auto" selected="selected">Automatic Zoom</option> <option value="page-actual">Actual Size</option> <option id="pageFitOption" value="page-fit">Fit Page</option> From b8db3356c395e34f05b8b7d00fbdfa9ec225b5ea Mon Sep 17 00:00:00 2001 From: Yury Delendik <ydelendik@mozilla.com> Date: Tue, 1 May 2012 13:31:23 -0500 Subject: [PATCH 2/2] Fixes visibility of the moving sidebar --- web/viewer.css | 3 +++ web/viewer.js | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/web/viewer.css b/web/viewer.css index f771fd7e6..acaca9865 100644 --- a/web/viewer.css +++ b/web/viewer.css @@ -52,6 +52,9 @@ body { -webkit-transition-duration: 200ms; -webkit-transition-timing-function: ease; } +#outerContainer.sidebarMoving > #sidebarContainer { + visibility: visible; +} #outerContainer.sidebarOpen > #sidebarContainer { visibility: visible; left: 0px; diff --git a/web/viewer.js b/web/viewer.js index 9822f07c6..35b00b331 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -1353,18 +1353,21 @@ window.addEventListener('load', function webViewerLoad(evt) { thumbsView.addEventListener('scroll', updateThumbViewArea, true); var mainContainer = document.getElementById('mainContainer'); + var outerContainer = document.getElementById('outerContainer'); mainContainer.addEventListener('transitionend', function(e) { if (e.target == mainContainer) { var event = document.createEvent('UIEvents'); event.initUIEvent('resize', false, false, window, 0); window.dispatchEvent(event); + outerContainer.classList.remove('sidebarMoving'); } }, true); document.getElementById('sidebarToggle').addEventListener('click', function() { this.classList.toggle('toggled'); - document.getElementById('outerContainer').classList.toggle('sidebarOpen'); + outerContainer.classList.add('sidebarMoving'); + outerContainer.classList.toggle('sidebarOpen'); updateThumbViewArea(); });