Matt Brundage
Thursday, 29 September 2016

Robert Gaudin Greene, June 23, 1924–September 27, 2016

Robert Gaudin Greene

From the beginning, there were strands that once anchored me to my childhood. In government, it was President Ronald Reagan. In faith, Pope John Paul II (now Saint John Paul the Great). In sports, baseball player Cal Ripken Jr. In music, Brian Wilson. And in family, it was my late grandfather, Robert Gaudin Greene. It’s hard to explain, but their continued presence in my life served as a sort of willful suspension of time. In a way, I could keep telling myself, “Time isn’t really passing …” or “The world is just as it was …” as long as my childhood heroes — my strands — were still alive and thriving. As long as Papa was around, I was still but a child, an adolescent. But on Tuesday morning, another strand came loose, as my grandfather passed into eternal life.

His obituary:

On September 27, 2016 Robert Morgan Gaudin Greene, age 92, peacefully passed away in Rockville, MD. He was born on June 23, 1924 in Waco, TX, the 6th of 7 children, the fourth of five sons — the Martlet — of James Floyd Greene and Mary Louise Dupre. At the age of five, his family settled in Birmingham, AL where he attended Lakeview Elementary School, Ramsay High School, Birmingham Southern College, and Howard College (now Samford University). He enlisted in the US Navy in World War II, advancing to the rank of Lieutenant Junior Grade. He served on the destroyer U.S.S. Hall, the hospital ship U.S.S. Consolation, and the gasoline tanker U.S.S. Patapsco. After the War, he settled in the Washington D.C. area and received a Mechanical Engineering degree from the Catholic University of America. He married the former Ellen Rowena Deckelman on November 8, 1952.

Robert Gaudin Greene weds Ellen Rowena Deckelman on November 8, 1952

Mr. Greene had a varied career starting as a Mechanical Engineer for the Bureau of Ships Model Basin and then to the U.S. Army Biological Laboratories at Fort Detrick. He served as the Patent Security Officer of the U.S. Army from 1973 until 1980. After 26 years of Army employment, he retired in 1980 as a General Engineer from Headquarters US Army Material Command. He was a life-long Catholic with membership in the Knights of Columbus, Legion of Mary and Holy Name Society and was a founding member of St Elizabeth Parish in Rockville, MD. He attended Gaithersburg Community Bible Study for several years. Among his hobbies were fishing, crossword puzzles, Scrabble, antique clock repair, traveling, and being among family. He leaves behind his beloved wife Ellen, and 3 children: Theresa M. Brundage (Geoffrey) of Olney, MD, Paul V. of Rockville, MD and Kevin M. (Amy) of Elmira, NY, 8 grandchildren and 3 great-grandchildren. He was pre-deceased by 1 grandchild in 1998. He is survived by a brother, Edward A. Greene of Chevy Chase, MD.

There’s an old saying that goes something like, “You never have to ask someone if they’re a veteran, because they’ll just tell you. And then they’ll keep reminding you again and again.” However, this saying in no way applied to my grandfather. Very rarely did I hear about his service in the Navy during World War II, or of his employment as a mechanical engineer with the Army during Korea and Vietnam. Papa was always perfectly modest about it, even considering the degree of reverence that society typically bestows upon WWII veterans — the quintessential members of the Greatest Generation.

My only recollection of his time in the Navy comes from his naval enlistment photograph, framed and still hanging in the hallway of his home. I’d pass by that faded photograph from time to time, pausing for just a moment to meditate on the man in the picture. I saw it again recently and it was like peering into a mirror.

Robert Gaudin Greene joins the Navy

From my earliest memories, I witnessed his seemingly unbounded intelligence and curiosity. For instance, he knew the binomial nomenclature of scores of flora and fauna. He restored old clocks and household appliances. For years, he kept his mind sharp by finishing the Washington Post crossword puzzle before breakfast. His copies of the dictionary and the Scrabble players dictionary are ragged and lined with his frequent notes and addenda. Yes, he edited the dictionary!

He retired at age 56, the year I was born. He lived a humble, mostly quiet life in retirement. Even though his lifestyle was never lavish, I still managed to get the impression that he never had to worry about money. As a child, having sleepovers at Grandma and Papa’s house was always a special time, always a calming experience. Papa was, in every sense of the word, a model grandfather.

Deep in my heart — that’s where the knot comes loose.

Robert Gaudin Greene

Tuesday, 6 September 2016

Sniff Bun-Bun Brundage, 2007-2016

Sniff Bun-Bun Brundage, spring 2008

April 2008: Sniff, in one of Annie’s favorite pictures

It is with immense sadness that Annie and I announce the death of our first rabbit, Sniff Bun-Bun Brundage. Sniff was born circa June 2007 and died on Friday night, September 2, 2016. He follows his adopted brother, Munch Dallas Brundage into paradise. He is survived by his human sister, Tanya, and his human parents.

We adopted Sniff from a very generous family who was trying to find a new home for their rabbit. We went up to meet them at a nearby mall, and they gave us pretty much everything: cage, food bowl, food, litter, chew toys, and a cute little bunny, wearing a purple vest with a detachable leash. We are forever grateful for their priceless gift. Sniff gave us tremendous joy for nine years.

Sniff Bun-Bun Brundage, September 2007

September 2007: Sniff, a few days after we brought him home.

He was truly part of our family. Sniff was a mama’s boy. He would hop over to Annie for a petting and then Munch would follow suit. In his younger days, Sniff used to do his corkscrew hops around the family room. When we lived at the townhouse, he would hop over to Annie from the kitchen and he would circle around her feet, and play with her sweater, which was dangling from a chair. We used to take him for walks outside in his purple harness. Once, during the fall, we took him outside and he got scared of a falling leaf. It was hilarious.

Sniff never liked to be held, but he loved to be petted. He would put his head on Annie’s lap, and just curl up on her legs for a petting. Annie would scratch both sides of his cheeks and rub the top of his head. When we moved to the single family home, Sniff and Munch shared a bedroom and they would hop over to the master suite at night and sleep under our bed. That lasted for a while. After Munch died, Sniff had the bunny room all to himself. He would come over to the master bedroom whenever he heard us, such as when we were giving Tanya a bath, or when Tanya was drinking her milk on the bed. In whatever bedroom we’d happen to be in, Sniff would find us and tunnel under the bed. Tanya and Annie would go up to see him during the daytime, and also in the evening time until I get home. On the rare occasion that Tanya would be sick or cry in the middle of the night, Sniff would hop over and inspect the situation. Whenever Annie would go into Sniff’s room to visit him, Sniff would run circles around her, or flop down over her feet, asking for a petting.

Sniff and Munch used to have a little toy elephant hanging from his cage door. The elephant had this little bell attached to it, so we’d know whenever they entered or exited their cage. Sniff also had this other little metal bell toy. Whenever we’d put it in front of him, Sniff would pick it up with his teeth and fling it out of his way.

Sniff, July 2016

July 2016: Sniff, in his last outdoor photo session.

We would give him lettuce, kale, carrots, and dandelion leaves, but his favorite was kale. We decided to almost completely cut out kale, as we were afraid that he’d get kidney stones like his brother. On the rare occasion that Annie would give him kale, Sniff would smell it coming and get excited before it arrived. After Sniff started to have dental problems and had to get one of his incisors extracted, Annie started shaving his carrots, which were easier for him to gnaw. Recently, Tanya would go outside and look for suitable treats for him, such as dandelions, clover, and occasionally, dried leaves. Sniff used to love to eat dried leaves. I’d call them his bunny potato chips.

Sniff slowly turned into an old rabbit, and was actually on arthritis medication, Pepcid, and pain medication. Annie took Sniff to the rabbit emergency room on Friday afternoon, after he appeared listless and didn’t have an appetite. The doctor said that he had stomach ulcers and a low temperature. Sniff died shortly before midnight. We were planning to go see him the next day, and we thought that we’d be able to hold him at least one more time. Annie was even holding out hope that he’d bounce back and recover. It wasn’t meant to be.

On Saturday, we went back to the animal hospital to pick up Sniff’s body. Annie held him in her arms all the way home. We held a funeral in Sniff’s room. I said my Catholic prayers, and Annie said her Buddhist prayers. As before with Munch, we buried Sniff in the backyard, under a new rosebush just a few feet away from his brother.

Annie still goes up to turn the light on in his room when the sun goes down. Most of Sniff’s things are still where they’ve always been. It’s hard to break routine. We still half expect to see him hop over to the master bedroom, or to open his door and see him lying down in his usual spot on the carpet. We told Tanya that Sniff is in bunny heaven, reunited with Munch.

Sniff and Munch, July 2011

July 2011: Sniff and Munch, sniffing each other.

Wednesday, 30 December 2015

Web developer tools

Firefox Developer ToolsThe following link dump represents the web developer tools that I use most frequently, both at my day job and for freelance projects.

Editors and regular expressions

Version control and diffing

FTP and database clients

Documentation and web apps


Browser tools and plugins

Graphics programs

Tuesday, 6 October 2015

Matt’s first law of aural exhibitionism

reel to reel tape deck The propensity of a person to play back recorded sound in public and unsolicited (for instance, in a store, at the park, or while in the presence of a captive audience such as on the subway) is inversely proportional to the generally-accepted listenability of the music being played and the quality of both the source and the playback equipment.

What this means is that for every kind soul who plays, for instance, Johann Sebastian Bach’s “Brandenburg Concerto #4 In G (Allegro)”, “Flamenco Sketches” from Miles Davis’ Kind of Blue, or take your pick from The Beach Boys’ Pet Sounds, you have literally thousands of people playing lowest common denominator, dynamically-compressed, Auto-Tuned r&b/pop. And no, the teeming masses are not lugging around their vintage reel-to-reel tape decks, tube amps, and Focal Sopras in makeshift portable configurations; they’re playing back low quality MP3s using the tiny, tinny-sounding, $2.67 speakers that came integrated into their cheap carrier-subsidized smartphones.

Tuesday, 30 June 2015

Munch Dallas Brundage, 2008-2015

Munch on the day we brought him home

July 2008: Munch on the day we brought him home

It is with immense sadness that Annie and I announce the death of our second rabbit, Munch Dallas Brundage. Munch was born circa May 2008 and died on Saturday afternoon, June 27, 2015. He is survived by his adopted brother, Sniff Bun-Bun Brundage, his human sister, Tanya, and his human parents.

Munch was ever true to his name and greatly enjoy meal time; his favorite foods were carrots, kale, and lettuce (in that order). We have seen him finish his own bowl, and then help himself to Sniff’s bowl as well. And of course, he loved to munch on hay throughout the day.

Munch used to do what we call “corkscrew hops,” where he would dash across the room, then leap up and twist his body in mid air. It was a riot.

Munch never liked to be held, but he loved to be petted. He was a very petable rabbit. He would start out in a “Sphinx position” with his two front paws under his chin — kind of scrunched up, but as you pet him, he’d kick out his two hind legs and go into full “long Bunny mode”, with his entire body sprawled out on the floor like a pancake.

When we first adopted him, he was so small that he was able to tunnel behind the shelves in our living room, but as he grew older, he was still trying to go through the same tunnel even after his increasing size caught up with him. For the longest time, he would still attempt to go through his old tunnel.

When Munch was young, he used to go up and down the stairs on occasion. It was the cutest thing watching his butt shimmy down the stairs.

Of the two rabbits, Munch was the laid-back one — in relaxed mode most of the time. Munch was content as long as he got his carrots and his grooming.

Sniff and Munch

April 2009: Sniff (left) and Munch

When we first moved into our current home, the rabbits got their own bedroom at the opposite end of the hallway from the master suite. They were always free to roam around upstairs. Sniff and Munch are not just rabbits to us — they are members of our family. I know that sounds clichéd, but we have to say it. They used to run down the hallway to the master suite, with their ears flopping up and down, like they were about to take off on a runway. We called it the Bunway. Bun-Bun Airlines. Once they got to our room, they’d tunnel under our bed, and used to sleep there — more so when we first moved in. Whenever we got up or disturbed them, they’d thump at us as if we were disturbing their space.

When Tanya was born, we moved the rabbits into the spare bedroom closest to us. The rabbits had previously enjoyed a bedroom with a walk-in closet (a hop-in closet), but now they had to settle for just a regular closet.

Earlier this month, Munch was diagnosed with kidney stones and kidney dysfunction — a fairly typical disorder for domesticated rabbits. On Friday night, we had to put him in overnight intensive care in Virginia, but we knew that the situation was grim. The following morning, the vet called to say that he was not doing well and that he might die in the ICU. The last thing we wanted was for Munch to die all alone without his family, and in a strange place. On Saturday afternoon, we arrived at his side. The vet made it clear that he would not last very long if we brought him home, and that he would be suffering immensely. We had to make the heart-wrenching decision to put him to sleep. We wanted him to remember that Mommy and Daddy were holding him as he drifted off.

We brought Munch’s body home and laid him in his room one last time so that Sniff could say his goodbyes. Sniff had his closure. We’re spending more time with Sniff, as he’s lost his companion. He used to be content to stay in his room with Munch, but lately, he’s taken to hopping around upstairs, looking for us.

On Sunday afternoon, we conducted an hour-long funeral. I said my Catholic prayers and Annie said her Buddhist prayers. We buried him in our backyard under a new rosebush, where we can see his grave site when we look outside.

Today, Tanya asked, “Where’s Munch?” Annie replied, “Munch died and went to Bunny Heaven.”

Tanya and the rabbits

November 2013: Our three babies sharing a snack. Left to right: Tanya, Sniff, and Munch (foreground).

Sunday, 14 June 2015

Tanya’s a planet


Tanya grabbed onto the banister in the foyer and pretended that she was riding a horse on the carousel at Wheaton Regional Park.

“Tanya’s on the merry-go-round.”

A light bulb went off in her head as she equated the circular motion of the carousel’s horses with the elliptical orbits of the planets.

“Tanya’s a planet. Planets go around the sun.”

I then asked her, “What planet are you?”

She answered without hesitation: “Uranus.” And, after a few seconds, “Neptune.”

Thursday, 26 February 2015

Long as she’s got a dime, the music will never stop

The other day, Tanya and I were hanging out in my man-cave, listening to records, as we do most every evening. We had been making our way through my otherwise-neglected collection of 45s when I rediscovered a single that I had completely forgotten about, David Wills’ “There’s a Song on the Jukebox.”

Now I hope I don’t have to describe to you what a perfect gem of an old country song this is. As I hit “play” again after the needle returned, the song got me thinking about jukeboxes, but more specifically, the pricing and economics behind them.

From the 1950s, and lasting until even the 1980s, the jukebox was an essential cog in the music industry machine. In rock and roll’s formative years, the price of a single play on a typical jukebox was ten cents, as evidenced by Chuck Berry’s 1956 hit, “Roll Over, Beethoven:” Long as she’s got a dime, the music will never stop. Fast-forward about twenty years and our old buddy David Wills is still feeding single dimes into the jukebox. As inflation had eroded the value of a dime by almost half in the intervening 20 years, a single play on a jukebox in 1975 represented a much better value than it did in Chuck Berry’s era.

But let’s take it a step further and compare a single play in 1956 to an equivalent purchase in the present day. Merely adjusting for inflation won’t cut it, as there has been a marked increase in disposable income per capita in the United States, after adjusting for inflation. Based on the graph (below), it’s safe to say that per capita real disposable income has increased three-fold since the mid-fifties.

Our inflation-adjusted 1956 dime is worth about $.87 today. But that dime was even more valuable back then, as it represented a much bigger piece of the disposable income pie. Adjusting that inflation-adjusted dime for constant real disposable income yields a value of $2.61. Yep.

Would you pay $2.61 today to listen to a two-minute pop song once? Remember that in the 1950s and 1960s, a typical pop song lasted about two minutes. Three minutes tops.

Put another way, would you spend around $60 to listen to an hour of music — music that you wouldn’t even own afterwards? No, you wouldn’t. But you’d likely pay that amount on an annual basis with a music subscription service such as Pandora, Spotify, Rdio, Google Play, etc. Astounding: the same dollar figure that once provided only an hour’s worth of listening pleasure now provides a whole year’s worth — and with a virtual jukebox with tens of thousands of songs.

Over the past 60 years, the cost of renting music has decreased by 99.9886% on a per-hour basis.

Wednesday, 11 February 2015

Mobile strategy: two opposing philosophies

I wrote this piece last summer, as part of a lively discussion I was having with colleagues regarding the future mobile strategy for While some of my research and positions are pertinent only to FAA, I have found that most of it can be generalizable to the wider web development community.

We have to be careful when we talk about designing for context vs. having a device-agnostic approach. These two philosophies are opposing. Allow me to explain.

Smartphone usage trends

As of spring 2013, well over half of all American adults are cell phone internet users. Among those cell internet users, 34% use their phone as their primary or exclusive means of going online. This is an increase from 31% in 2012, and from 25% in 2011. In other words, the proportion of those who use their cell phones exclusively to access the internet is trending upward and has been a significant percentage for several years.

Cell-mostly internet users by household income.
Full report: Percentage of cell phone internet users who use their phones exclusively or mostly to go online

Three market trends indicate the rise of small-screen (“mobile”) browsing as a normal, mainstream means of accessing the internet:

  1. cell phone (smartphone) adoption percentage
  2. cell phone internet use percentage, and
  3. cell phone primary or exclusive internet use percentage.

All three of these percentages are steadily trending upward year-over-year.

What does all of this mean?

For a growing proportion of the population, there is no such thing as “device context” or “task context.” (two sides of the same coin) Many people aren’t doing different tasks on different devices because they use only one device primarily or exclusively. And regardless of how many devices users have, they expect content to be available and usable to them on the device that they are currently on.

What some call their “Mobile Strategy” should simply be called their “Strategy.” It should focus on getting all of their content accessible and usable on as many screen resolutions as possible. If a particular piece of content is relevant on a desktop or laptop, then it’s relevant on a “mobile” device. This approach — this device-agnostic philosophy — is echoed throughout the president’s Digital Government Strategy, published in 2012. (Press release) (Device-agnostic means that a service is developed to work regardless of the user’s device, e.g. a website that works whether viewed on a desktop computer, laptop, smartphone, media tablet or e-reader.)

“Americans deserve a government that works for them anytime, anywhere, and on any device.”

President Barack Obama, mobile screenshotWhile developing, I laid the foundation of our device-agnostic approach. With responsive design (CSS rules), I endeavored to make FAA’s pages look at the very least acceptable and readable at any screen resolution. But our work is in no way finished. We can further optimize (both template-level and page-specific) to ensure that pages look and behave their best at smaller resolutions.


If you haven’t already guessed, my recommendation remains that we continue to employ responsive design (CSS rules) on — to build on the foundation that I have already laid — to optimize all of our content for whatever device a visitor will choose to use.

Our other two options involve creating and maintaining two websites. Both of these options involve making assumptions about our users, based solely on their device type or screen resolution.


  • The assumption that there is a clear distinction between “desktop tasks” and “mobile” tasks. This distinction was relevant in the early days of mobile internet — when responsive design had yet to mature and when smartphones were not as capable as they are now. But user expectations and usage patterns have changed and continue to change, as outlined in the section above. People expect websites to work on their device, and FAA must deliver on those expectations.
  • The assumption that we can divine what content our visitors will want to see on their mobile device vs. what content those visitors won’t want to see, or won’t need to see. Content curation is based on this faulty assumption. The whole concept of content curation ignores the reality that smartphone and tablet users are already exploring in ever-increasing numbers — to the tune of 24% of all visits, and over 35% on weekends! (July 2014) I can assure you that these ½ to ⅓ of our site visitors are not hopelessly lost and desperately looking for our pared-down, insultingly simplified mobile site.
  • The assumption that a mobile user fits a single, outdated set of characteristics. Can FAA determine the user’s mindset, their “on-the-go” attitude, their location relative to an available desktop or laptop computer, their motivation or intent to consume content, or their information needs based solely on the device that they’re using?

Other problems with a two-site approach

  • Forcing the user to redirect to a separate mobile site flies in the face of the user experience credo that “the user is always in control.” Period. Redirecting the user when that corresponding page does not exist on the mobile site is the worst possible course of action to take, as the content would be inaccessible on that device.
  • The definition of “mobile” is changing, and there is less of a distinction. For instance, is a Dell Venue 11 Pro considered a mobile device, since it is sold as a tablet? Or is it really a laptop, since it comes with an optional keyboard and has the same screen size as an 11″ Apple MacBook Pro? Or is the 11″ MacBook Pro now considered a mobile device? For that matter, is any laptop considered a mobile device when it is used on a plane, train, or automobile?
  • A two-site approach will increase maintenance — perhaps not by a factor of two, but by a significant amount. Maintaining two “separate but equal” websites will introduce programming inconsistencies — when one feature is correct on one site, but incorrect or different on the other. And certain features may be intentionally different across the two sites, but that fact may not be entirely obvious. Over time, it will become exceedingly difficult to determine the “correctness” or current relevance of a given block of code.

In summary

I recommend that we continue to maintain a device-agnostic approach to web development, and to further optimize our content for smaller screens (“mobile”, if you will). Refining and simplifying our content can have a dramatic, positive effect on the user experience — but not just on mobile devices but on the desktop as well.

Works cited and consulted

Friday, 28 February 2014


screenshot of

I unveiled a new site earlier this week for the Federal Aviation Administration. That is, it feels like an entirely new site because the changes are so sweeping and comprehensive. I’ve been referring to the project as a FAAcelift (get it?), but the scope of the project is much more than just a fresh coat of CSS.

A huge thanks to my coworkers and the FAA Office of Communications for their support and encouragement, and for entrusting me with this opportunity. Improving FAA’s public-facing website was pure bliss, and I’m fortunate that I was given the time — and autonomy — to commit the following changes to the template. When I wake up in the morning, I am always excited about getting to work. In a way, I feel privileged. The constant feeling of fulfillment never goes away.

Notable changes/improvements


  • Responsive layout is informed by design breakpoints — not necessarily by device breakpoints. In other words, the responsive layout aspires to be device-agnostic.
  • The appearance of pre-content page messages has been standardized. A “debugging” page message appears when the development tier is in debug mode. The News CMS mini-toolbar is styled in the same manner. Pre-content page messages are dismissible.
  • FAA and DOT seals are approximately 25% larger than before. The words on the seals are closer to being legible.
  • Text is, on average, 15% larger than before and is closer to browser default font sizes.
  • The page tools box appears to reside in the right sidebar (to the right of the page title), but it remains visible even if the right sidebar is hidden.
  • Text in ordered and unordered list items start at the same horizontal place on a given line. Intra-page anchor links (e.g. class="anchorDown") are similarly aligned.
  • Vertical navigation supports additional levels of indentation. Example of prolific nesting
  • Blank space between paragraphs and lists has increased to be equal to the default line height of its corresponding text. This affords consistent vertical flows of text.
  • Message boxes look 43% less ugly. Also, they’re dismissible. Message box icons are from a single set: Chalkwork. Icon size has increased proportionally to the text size increase.
  • Footer: Readers and Viewers icons better match current software branding used by Adobe and Microsoft. Icon size has increased proportionally to the text size increase.
  • ForeSee modal dialog styles are closer to template styles. ForeSee’s FAA seal image, in particular, is more accurate.
  • CSS filter effects progressive enhancement: desaturation of the page content when it loses “visual focus” to certain page elements with higher z-indexes:
    • Colorbox modal dialog
    • ForeSee modal dialog
    • jQuery UI modal dialog
  • A larger percentage of CSS rules use relative (em) unit values instead of absolute (px) unit values. With relative unit values, page element properties such as margin, padding, and width will scale relative to the user’s default font size (set in the browser) or font scale factor (set in the operating system).
  • Font sizes (as calculated by the browser in pixels) are whole numbers when possible in an attempt to overcome differences (subtle and not-so-subtle) in font rendering and rounding among various browsers. See:

screenshot of Air Traffic page


  • A class of “noJS” or “js” is applied to the <html> tag. The correct class is determined (via JavaScript) before any CSS is loaded, avoiding potential rendering engine repaints/reflows, and thus, an appearance of latency.
  • Upgraded to the latest stable releases of jQuery, jQuery Migrate, and jQuery UI.
  • Upgraded template-level plugins Colorbox, bxSlider, and a forked version of beautyTips which I then had to fork again.
  • When feasible, the site loads non-minified versions of JavaScript libraries and plugins on the development tier and minified versions of the same on the production tier. This makes it easier to debug JavaScript errors/warnings on the development tier.


  • DTD changed to HTML5.
  • Template markup is valid according to the HTML5 DTD.
  • Removed <meta> “keywords” from template output.

Browser support

  • IE6 support has been dropped, as its marketshare has fallen below one-tenth of 1%. No testing occurs in this browser. For what it’s worth, IE6 loads the lone CSS “fixes” file, intended mostly for IE8.
  • IE7 support has been dropped, as its marketshare has fallen below 2/3 of 1%. Cursory testing may still occur in this browser, although there is no guarantee that the template structure will hold up reasonably well. For what it’s worth, IE7 loads the lone CSS “fixes” file, intended mostly for IE8.
  • JS-/canvas-based rounded corners has been dropped. It was previously implemented in IE7 and IE8.

User experience/accessibility

See section below for how I aspire to meet Web Content Accessibility Guidelines: WCAG 2.0

  • “Skip to page content” link becomes visible on keyboard-activated focus.
  • Keyboard-accessible (focusable) dropdown menus (horizontal navigation and “FAA for You”)
  • Contrast between backgrounds and text complies with WCAG 2.0, Level AAA. (see section, below)
  • Page Last Modified date above the footer is in the long-date format to resolve ambiguities surrounding the two-digit representations of the day, month and year, and the ordering of said numerals. If a short-date format is recommended for aesthetics, it should conform to ISO 8601.
  • Page Last Modified time has been converted from the 24-hour clock (military time) to the 12-hour clock (AM/PM) for the sake of plain language and understandability. Additionally, the time zone indicator reports standard or daylight saving time as appropriate.
  • All heading levels (<h2>, <h3>, etc.) are properly differentiated by font size, line height, and margins. They are closer to browser defaults.
  • WAI-ARIA Landmark attributes adorn key sections.
  • jQuery UI Tabs follow WAI-ARIA best practices.
  • On hashchange events (such as “Skip to page content” or other intra-page anchor links), browser focus state now reliably mirrors visual focus across all browsers.
  • Breadcrumb delimiter is no longer a right-pointing double-angle quotation mark, but a solid arrow. The arrow glyph is wrapped with aria-hidden=”true” to prevent screen readers from reading this design element.
  • The legacy mode message (displayed in the pre-content area on the development tier) now reports all conditions that put the page into legacy mode. The messages are less cryptic and more developer-friendly.
  • If the jQuery UI autocomplete widget in the site search field is left open and no item is selected, hovering over neighboring drop-down menus (“FAA For You…” or the horizontal nav) closes the autocomplete widget. This is done for the sake of minimizing z-index collisions.
  • Sticky horizontal navigation.

screenshot of News page

Web Content Accessibility Guidelines: WCAG 2.0

FAAcelift aspires to meet WCAG 2.0 (Level AAA), particularly in the visual presentation of text.

  • 1.4.1: Use of color: The template is now fully compliant. In the previous version of the template, the visited link color was the same as the hovered link color. Hovering over visited links resulted in no visual change. This has been remedied in the latest template revision. Additionally, developers are encouraged to not use color as the only visual means of conveying information.
  • 1.4.2: Audio control: Not applicable to the template. No known site sections or pages play audio on page load.
  • 1.4.3: Contrast ratios (minimum): The template meets and exceeds this requirement. See full explanation in section 1.4.6 (below).
  • 1.4.4: Resize text: Compliant in all page layout scenarios. See also 1.4.8.
  • 1.4.5: Images of text: The template is compliant. See also section 1.4.9 (below).
  • 1.4.6: Contrast ratios (enhanced): (Level AAA) “The visual presentation of text and images of text has a contrast ratio of at least 7:1” with limited exceptions.

    Already compliant

    • Page title
    • Body copy
    • Horizontal navigation
    • Vertical navigation
    • New design of footer (first row with blue background)

    Made compliant

    • Page subtitle: increased from 3.9:1 to 9.7:1
    • Breadcrumb links: increased from 2.6:1 to 7.1:1 (not hovered) and 10.6:1 (hovered)
    • Links (visited and unvisited): increased from 6.2:1 to 7.1:1
    • Hovered links (visited and unvisited): increased from 3.2:1 to 10.6:1
    • Input and textarea placeholder text: increased from 4.6:1 to 7.1. The color was deferring to the browser’s default placeholder color. In Firefox 25, for example, the default placeholder color passes WCAG AA but fails WCAG AAA.

    Improved, but not compliant

    • “FAA for You…” dropdown in the header: increased from 3.1:1 to 4.5:1. This complies with Level AA, but not Level AAA.
  • 1.4.7: Low or No Background Audio: (Level AAA) Not applicable to the template.
  • 1.4.8: Visual Presentation: (Level AAA)
    • First requirement: Not compliant. We do not provide a mechanism for the user to change the background or foreground colors.
    • Second requirement: Made compliant. In the default page layout (with both sidebars present), the average number of characters per line has been reduced from about 95 in template v. 3 to about 80 in template v. 4. The upper limit recommended by WCAG 2.0 is 80 characters.
    • Third requirement: Partially compliant. Pro: we do not provide a CSS rule in the template to justify paragraph text. Con: we do not provide a mechanism in the template to un-justify text affected by custom CSS.
    • Fourth requirement: Partially compliant. Text line height has increased slightly from 145% of text size to 150% to meet this requirement. Spacing between paragraphs has increased from 85% of line height to 100% of line height, but this spacing is not large enough to meet this requirement.
    • Fifth requirement: Compliant in most scenarios when the template is in the default page layout (with both sidebars present). Newer browsers that support media queries are fully compliant, as the responsive layout ensures that the user will never have to scroll horizontally to read overflowing text.

    Key advisory techniques for 1.4.8:

    • Providing large fonts by default. “Large” is a relative term, but the base font size of the page (while still less than the browser default) is about 15% larger than before.
    • Avoiding chunks of italic text. The default style for <blockquote< displays text in the normal font style instead of in italics (or oblique).
    • Making links visually distinct. Breadcrumb links conform to the same link color scheme as the other links in the main content area.
  • 1.4.9: Images of text (No exception): The template is fully compliant, but individual pages may not be fully compliant. Our “Visit FAA Mobile” ad in the footer violated this rule, but the image has been reworked as text styled with CSS. Right sidebar ads and homepage ads frequently violate this requirement. Merely providing alt text on images ensures Section 508 compliance but does not necessarily ensure compliance with this requirement.

screenshot of Michael Huerta biography page