Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 8 hours 30 min ago

mark.ie: Printing Regions in Views in Different Places Using the Same Template

Wed, 2019/04/10 - 1:08pm
Printing Regions in Views in Different Places Using the Same Template

We had a case where on some views we needed to print the header above the exposed filters and on others we needed to print the header after the exposed filters. Here's my simple solution.

markconroy Wed, 04/10/2019 - 12:08

This is rather simple, in my views template (list.twig I call it, as I am using PatternLab), I created the following:

  1. {% if not header_after_exposed and header %}
  2. {{ header }}
  3. {% endif %}
  4.  
  5. {% if exposed %}
  6. {{ exposed }}
  7. {% endif %}
  8.  
  9. {% if header_after_exposed and header %}
  10. {{ header }}
  11. {% endif %}

Now, in my corresponding views template in Drupal - views-view--search.html.twig - I just use that template and set the header_after_exposed variable to true.

  1. {% set header_after_exposed = true %}
  2. {% include '@content/list/list.twig' %}
Categories:

Sooper Drupal Themes: Why Drupal is the Go To CMS for Higher Education

Wed, 2019/04/10 - 11:27am
Who is choosing Drupal as a CMS?

Picking the right type of CMS for any website is no easy task. However, when it comes to complex websites that have to be shown on a wide variety of displays and in 10 different languages, the choice is even harder. In this article, I am going to tell you the reason why universities such as Harvard, Oxford, MIT, Stanford etc. are choosing Drupal as their default Content Management System.

Growth is no problem

Higher education websites are constantly growing and expanding. On top of that, most university websites are having sister sites. This means that a CMS has to handle a bigger degree of complexity when it comes to managing multiple websites. Having this in mind, more simplistic Content Management Systems are likely to fail at handling such a big amount of data in an efficient way. However, Drupal was specifically designed for this. For Drupal, handling such an impressive amount of data in a quick and efficient way is no problem. 

Multi-platform support

Another interesting factor that comes into play when choosing the right CMS is technology. The main consumer market for universities are students. Research shows that on average a student owns 6.9 devices. What this means is that they spend a lot of time on different electronic devices such as laptops, smartphones and tablets. With Drupal however, the websites are already optimized for different screen sizes, provided that you use a mobile-ready theme like our Glazed framework theme. This means that when a website is built and ready to launch, Drupal is going to automatically adapt it to be also shown in the right format for the screen of a smartphone or any other device that is capable of browsing the internet. This leads to a further drop in the IT overhead costs.

Language is no barrier for Drupal

University websites usually have to come in a variety of languages for international students. The entire multilangual support architecture of Drupal has been rebuild from the ground up. It makes it easy to create a multilingual experience by having the native language functionality directly integrated in Drupal 8 core API’s. Universities now can have the power to adapt to any kind of student demographic. What this means is that Drupal gives you the option to be able to extend your communication campaign in over 100 different languages. 

Easy content management

Managing content is easy on Drupal 7 and 8. All you had to do was presss the edit button present on every page. However, the Drupal experience can be further improved by using Glazed Builder, which is taking this a step further by adding inline editing for the easy access and convenience of its user. This improved experience can benefit universities especially, since a university website should facilitate an easy access to downloading, uploading, updating and editing different files. With Drupal and Glazed Builder you don’t have to be a computer wizard to take advantage of the easy content management that it's offered.

No licensing fees

Proprietary CMS’s are usually charging licensing fees, which have to be taken into account by a university when calculating the cost for building a website. With Drupal however, the costs for licensing are non-existing. The reason for this is that Drupal is an open source CMS. What this means is that people are dedicating their free time for developing the project without any monetary expectations in mind. With this in mind, Drupal is sure to be able to cut down the costs which you would otherwise have for building a new website by choosing another CMS. 

Drupal, the perfect choice for higher education

Drupal is one of the best content management systems currently on the market. There are many advantages, however, when also taken into account with the lack of licensing fees, Drupal is the obvious CMS of choice for higher education institutions. So what are you waiting for? If you're a university and are looking to upgrade your website, then Drupal is the right answer for you.

Categories:

Jeff Geerling's Blog: Drupal VM 5 ('Flynn Lives') brings updates to all the things!

Tue, 2019/04/09 - 11:10pm

It's been five years since Drupal VM's first release, and to celebrate, it's time to release Drupal VM 5.0 "Flynn Lives"! This update is not a major architectural shift, but instead, a new major version that updates many defaults to use the latest versions of the base VM OS and application software. Some of the new default versions include:

  • Ubuntu 18.04 'Bionic' LTS (was Ubuntu 16.04)
  • PHP 7.2 (was PHP 7.1)
  • Node.js 10.x (was Node.js 6.x)

See the full release notes here: Drupal VM 5.0.0 "Flynn Lives"

There are also a number of other small improvements (as always), and ever-increasing test coverage for all the Ansible roles that power Drupal VM. And in the Drupal VM 4.x release lifecycle, a new official pre-baked Drupal VM base box was added, the geerlingguy/drupal-vm Vagrant base box. Using that base box can speed up new VM builds by 50% or more!

Categories:

Dries Buytaert: Supporting Girls Who Code at DrupalCon

Tue, 2019/04/09 - 6:22pm

For most people, today marks the first day of DrupalCon Seattle.

Open Source communities create better, more inclusive software when diverse people come to the table. Unfortunately, there is still a huge gender gap in Open Source, and software more broadly. It's something I'll talk more about in my keynote tomorrow.

One way to help close the gender gap in the technology sector is to give to organizations that are actively working to solve this problem. During DrupalCon Seattle, Acquia will donate $5 to Girls Who Code for every person that visits our booth.

Categories:

Drupal core announcements: Core topic discussions at DrupalCon Seattle 2019

Tue, 2019/04/09 - 4:56pm

DrupalCon Seattle includes are a number of core conversations where you can learn about current topics in Drupal core development, and a week of sprints where you can participate in shaping Drupal's future.

In addition to the core conversations, we have a few meetings on specific topics for future core development. These meetings will be very focused, so contact the listed organizer for each if you are interested in participating. There are also birds-of-a-feather (BoF) sessions, which are open to all attendees without notice.

Also be sure to watch Dries' keynote for ideas about Drupal's future! Check out the extended Dries Q&A session on Thursday as well to get even more questions answered.

All meetings will be in Room 507-508 in convention center, except for the retrospective on Thursday which is in Room 401 at the Convention Center, very close to lunch.

Time Topic Organizer Monday, April 8th 1pm Automatic updates David Strauss Monday, April 8th 4pm Symfony 4/5 meeting Alex Pott Tuesday, April 9th 4pm Core compatibility, d.o, contrib semantic versioning discussion XJM Wednesday, April 10th 11am Autosave in core discussion Cristina Chumillas Wednesday, April 10th 3:30pm Media path to stable Adam Hoenich Wednesday, April 10th 5pm CMI boundaries Fabian Bircher Thursday, April 11th 9:45am Frontend deprecation, theme policies Laurii Thursday, April 11th 12pm Initiative leads retrospective discussion Gabor Friday, April 12th 10am Drupal strategy, how to do less, how to gracefully remove things Alex Pott Friday, April 12th 11am Layout translations discussion Ted Bowman Friday, April 12th 1pm Claro path to core Cristina Chumillas
Categories:

Agiledrop.com Blog: Our brand new Ljubljana office

Tue, 2019/04/09 - 10:22am

The last weekend of March, our team in Ljubljana finally made the long-anticipated transition into our brand new offices. In this short blog post, we’ll give you a glimpse into the teambuilding-like moving process, as well as explain why we made the decision to move and what this means for Agiledrop.

READ MORE
Categories:

Acro Media: BigCommerce and Drupal Create Innovative & Content Rich Commerce Experiences

Tue, 2019/04/09 - 12:37am
Acro Media teams up with BigCommerce


Acro Media has teamed up with BigCommerce, a leading SaaS ecommerce platform, to create the BigCommerce for Drupal module, a headless commerce module integrating both platforms together.

What does this mean? It means that companies can now utilize the quick-to-market and feature-rich backend benefits of BigCommerce SaaS while enjoying the content-rich and extensible frontend experience of Drupal, the open-source CMS. It’s a melding of systems that results in a best-of-both-worlds solution for today's digital experience driven ecommerce needs.

Read the full press release below.

April 8, 2019 11:00 am EDT

BigCommerce for Drupal Brings Customized Shopping Experiences to Drupal Community

SEATTLE – April 8, 2019 – BigCommerce, the leading SaaS ecommerce platform for fast-growing and established brands, today announced BigCommerce for Drupal, a headless commerce module built specifically for the open-source content management system (CMS), at DrupalCon Seattle. Developed in partnership with Acro Media, a world-renowned digital commerce agency, BigCommerce for Drupal gives brands the ability to embed flexible, enterprise-level ecommerce functionality into revolutionary customer experiences created within Drupal’s highly-extensible and secure CMS.

Available now in the Drupal module library, BigCommerce for Drupal facilitates an agile headless commerce architecture for merchants by decoupling Drupal’s powerful front-end CMS and BigCommerce’s scalable commerce engine. Knitted together by fast, open-source APIs, the module allows the two platforms to operate simultaneously and more efficiently within a single interface. Additionally, BigCommerce for Drupal is built directly into Drupal Commerce, making it compatible with the many existing themes and modules available within Drupal Commerce.

“Shopping experiences should not be limited by any single content management or ecommerce platform’s native capabilities, and BigCommerce for Drupal embodies that philosophy. We want pioneering brands to continue driving retail innovation forward and help redefine how customers buy products, whether it be through augmented reality, social selling or any disruptive technology that lies ahead,” said Russell Klein, chief development officer at BigCommerce. “Furthermore, announcing BigCommerce’s headless implementation at DrupalCon, an event that brings together one of the strongest and most engaged online communities, signals the value we place on open-source technology that can be made better through collaboration.”

Key features of BigCommerce for Drupal include:

  • Drupal Commerce Core: BigCommerce for Drupal is built atop the Drupal Commerce module, developed in part by Acro Media, tapping into years of iterative improvements and enhancements.
  • Data Sync: With BigCommerce for Drupal, retailers can synchronize product and metadata directly from BigCommerce into Drupal, and then augment and manage data directly within the Drupal CMS.
  • Cached Commerce: The connected BigCommerce store will sync at merchant-determined intervals, saving a cached version of the catalog inside Drupal rather than pinging BigCommerce APIs for information.

“As two open, API-driven platforms, there is a natural alignment between BigCommerce and Drupal, and this module bridges the gap to unify their respective functionalities into one intuitive interface,” said Shae Inglis, chief executive officer at Acro Media. “The future of ecommerce is open architecture, and headless integrations lets even enterprise-level brands be nimble and capitalize on the explosion of new, innovative consumer touchpoints.”

To learn more about BigCommerce for Drupal visit www.bigcommerce.com/drupal. To download the BigCommerce for Drupal Module visit www.drupal.org/project/bigcommerce. DrupalCon attendees can also get more information by visiting the Acro Media booth (#802).

Is BigCommerce and Drupal right for you?

Quickly find out using Acro Media's Ideal Commerce Architecture Analysis.

Categories:

Agaric Collective: Just enough of a local Drupal development environment

Mon, 2019/04/08 - 11:48pm

In preparation for Agaric's migration training at DrupalCon Seattle, we've seen again that getting a development environment suitable for working on Drupal 8 with Composer is a big road block. For that reason, here are instructions for getting it all going, suitable for our training or for working on Drupal in a code sprint, with only one hard requirement: PHP.

Getting a local development going is a problem for everyone, including programmers and people who should be skilled at this. Vagrant and DrupalVM were created to make identical development environments work on any computer. Unfortunately, that's more a pipe dream than a promise, as our own experiences and support requests we've received can attest,

Docker is another attempt to make local development match production environments, and a newer generation of Drupal-adjacent development workflow tools, such as DDEV, Lando, Docksal, and Humpback, build on it. Using an online development environment is also an option, but has too much reliance on working WiFi for conference situations.

The goal is any Drupal development environment—any of the above or anything else—where you can go to your project root directory in a terminal and type, say, composer update and have If you don't have a local development environment of any kind, here is the minimalist approach. All the steps start with opening your terminal.

Read more and discuss at agaric.coop.

Categories:

Jeff Geerling's Blog: Drupal 8 successes and failures

Mon, 2019/04/08 - 11:33pm

Thoughts about Drupal 8, Drupal 7, Backdrop, the Drupal Community, DrupalCon's meteoric price increases, DrupalCamps, and the future of the framework/CMS/enterprise experience engine that is Drupal have been bubbling up in the back of my mind for, well, years now.

I am almost always an optimist about the future, and Drupal 8 promised (and usually delivered) on many things:

  • Vastly improved content administration
  • Views in core, and even better than ever
  • Media in core
  • Layouts in core
  • Modern programming paradigms (fewer #DrupalWTFs)
  • 'Getting off the island' and becoming more of a normal PHP application (kinda the opposite of something like Wordpress)

But one thing that has always been annoying, and now is probably to the state of alarming, for some, is the fact that Drupal 8 adoption has still not hit a level of growth which will put it ahead of Drupal 7 adoption any time soon.

Categories:

Redfin Solutions: How to Override CKEditor Build Config in Drupal 8

Mon, 2019/04/08 - 5:50pm
How to Override CKEditor Build Config in Drupal 8

Drupal 8 ships with a custom CKEditor build. This build is configured with a build-config.js file. We recently ran into a situation in which we wanted to override this configuration in order to disable a plugin. There is some information in this build-config.js file about replacing it with a non-minified build for development purposes, but nothing about overriding it. Here is how we did it.

Christina April 08, 2019
Categories:

Jacob Rockowitz: The tale of two possible Webform logos

Mon, 2019/04/08 - 4:24pm
Response to request

After posting my request for a Webform logo, Jeff Masigan (jeffmasigan) the owner of Pixel Architect Web Design Inc. reached out via Drupal Slack, offering to design the Webform module's logo and even have it printed on tee-shirts for DrupalCon Seattle. It is hard to turn down the prospect of giving out Webform tee-shirts at the Advanced Webform session. Lili, my 10-year-old daughter, is very excited to have Webform tee-shirt added to her growing Drupal tee-shirt collection.

Two other awesome members of the Drupal community, Christian Okpada (ojchris37) and Jürgen Appel, responded with proposals and ideas. While thinking about Jeff's Webform logo tee-shirt offer, I also realized that Jeff and I had met in the Webform issue queue via Issue #3032244: Webform - Route Not Found Exception. This issue was one of those frustrating 'gotcha' problems that we were able to work through and fix. Seeing that Jeff had a history in the Webform issue queue and even earned an issue commit credit, this finalized my decision to work with Jeff and Pixel Architect.

Drupal Seattle was only a few weeks away, so Jeff and I came up with a tight timeline and got to work.

First designs

Pixel Architect's designer came up with a bunch of icon and color variations. I initially thought the Webform logo might use a checkbox icon but when I saw the miniaturized contact form; I was sold. First...Read More

Categories:

Srijan Technologies: Content Syndication, Staging, and Synchronization with Drupal

Mon, 2019/04/08 - 3:56pm

For the longest time, web content had one purpose - to get pushed on a web page. But everyone today wants content to be available across the board - on mobile devices, native apps, digital signage, and show up on third-party sites and social networks - if it is to garner the right audience.

Categories:

Phase2: DrupalCon Demo: Modern Commerce

Sun, 2019/04/07 - 5:44pm

Today, personalizing your customer journey is an essential strategy and part of delivering a competitive brand experience. And while some organizations have implemented a range of personalization tools, many have not successfully scaled their personalization strategy across their customers’ journey at every touchpoint.

Categories:

Promet Source: Secrets of Seattle for DrupalCon 2019

Sun, 2019/04/07 - 5:19am
I couldn’t be more excited about the fact that DrupalCon is in my town this year. I’ve lived in Seattle for more than 25 years and during that time, I’ve discovered some amazing places.  So if you are looking to avoid the typical, touristy hot spots that cater to conventioneers (and I know that you are) and fast track your knowledge of where the in-the-know locals go, this list is for you. 
Categories:

Dcycle: An approach to automating Drupal accessibility tests

Sun, 2019/04/07 - 2:00am

Accessibility tests can be automated to a degree, but not completely; to succeed at accessibility, it needs to be a mindset shared by developers, UX and front-end folks, business people and other stakeholders. In this article, we will attempt to run tests and produce meaningful metrics which can help teams who are already committed to produce more accessible websites.

Premise

Say your team is developing a Drupal 8 site and you have decided that you want to reduce its accessibility issues by 50% over the course of six months.

In this article, we will look at a subset of accessibility issues which can be automatically checked – color contrast, placement of tags and HTML attributes, for example. Furthermore, we will only test the code itself with some dummy data, not actual live data or environment. Therefore, if you use the approach outlined in this article, it is best to do so within a global approach which includes stakeholder training; and automated and manual monitoring of live environments, all of which are outside the scope of this article.

Approach

Your team is probably perpetually “too busy” to fix accessibility issues; and therefore too busy to read and process reports with dozens, perhaps hundreds, of accessibility problems on thousands of pages.

Instead of expecting teams to process accessibility reports, we will use a threshold approach:

First, determine a standard towards which you’d like to work, for example WCAG 2.0 AA is more stringent than WCAG 2.0 A (but if you’re working on a U.S. Government website, WCAG 2 AA is mandated by the Americans with Disabilities Act). Be realistic as to the level of effort your team is ready to deploy.

Next (we’ll see how to do this later), figure out which pages you’d like to test against: perhaps one article, one event page, the home page, perhaps an internal page for logged in users.

In this article, to keep things simple, we’ll test for:

  • the home page;
  • an public-facing internal page, /node/1;
  • the /user page for users who are logged in;
  • the node editing form at /node/1/edit (for users who are logged in, obviously).

Running accessibility checks on each of the above pages, we will end up with our baseline threshold, the current number of errors, for example this might be:

  • 6 for the home page
  • 6 for /node/1
  • 10 for /user
  • 10 for /node/1/edit

We will then make our tests fail if there are more errors on a given page than we allow for. The test should pass at first, and this approach meets several objectives:

  • First, have an idea of the state of your site: are there 10 accessibility errors on the home page, or 1000?
  • Fail immediately if a developer opens a pull request where the number of accessibility errors increases past the threshold for any given page. For example, if a widget is added to the /user page which makes the number of accessibility errors jump to 12 (in this example), we should see a failure in our continuous integration infrastructure because 12 >= 10.
  • Provide your team with the tools to reduce the threshold over time. Concretely, a discussion with all stakeholders can be had once the initial metrics are in place; a decision might be made that we want to reduce thresholds for each page by 50% within 6 months. This allows your technical team to justify the prioritization of time spent on accessibility fixes vs. other tasks seen by able-bodied stakeholders as having a more direct business value.
Principles Principle #1: Docker for everything

Because we want to run tests on a continuous integration server, we want to avoid dependencies. Specifically, we want a system which does not require us to install specific versions of MySQL, PHP, headless browsers, accessibility checkers, etc. All our dependencies will be embedded into our project using Docker and Docker Compose. That way, all you need to install in order to run your project and test for accessibility (and indeed other tests) is Docker, which in most cases includes Docker Compose.

Principle #2: A starter database

In our continous integration setup, will will be testing our code on every commit. Although it can be useful to test, or monitor, a remote environment such as the live or staging site, this is not what this article is about. This means we need some way to include dummy data into our codebase. We will do this by adding dummy data into a “starter database” committed to version control. (Be careful not to rely on this starter database to move configuration to the production site – use configuration management for that – we only want to store dummy data in our starter database; all configuration should be in code.) In our example, our starter database will contain node/1 with some realistic dummy data. This is required because as part of our test we want to run accessibility checks agains /node/1 and /node/1/edit.

A good practice during development would be that for new data types, say a new content type “sandwich”, a new version of the starter database be created with, say, node/2 of type “sandwich”, with realistic data in all its fields. This will allow us to add an accessibility test for /node/2, and /node/2/edit if we wish.

Tools

Don’t forget, as per principle #1, above, you will never need to install anything other than Docker on your computer or CI server, so don’t attempt to install these tools locally, they will run on Docker containers which will be built automatically for you.

  • Pa11y: There are dozens of tools to check for accessibility; in this article we’ve settled on Pa11y because it provides clear error reports; and allows the concept of a threshold above which the script fails.
  • Chromium: In order to check a page for accessibility issues without actually having a browser open, a so-called headless browser is needed. Chromium is a fully functional browser which works on the command line and can be scripted. This works under the hood and you will have no need to install it or interact with it directly, it’s just good to know it’s there.
  • Puppeteer: most accessibility tools, including Pa11y, are good at testing one page. Say, if you point Pa11y to /node/1 or the home page, it will generate nice reports with thresholds. However if you point Pa11y to /user or /node/1/edit it will see those pages anonymously, which is not what we want to test. This is where Puppeteer, a browser scripting tool, comes into play. We will use Puppeteer later on to log into our site and save the markup of /user and /node/1/edit as /dom-captures/user.html and /dom-captures/node-1-edit.html, respectively, which will then allow Pa11y to access and test those paths anonymously.
  • And of course, Drupal 8, although you could apply the technique in this article to any web technology, because our accessibility checks are run against the web pages just like an end user would see them; there is no interaction with Drupal.
Setup

To follow along, you can install and start Docker Desktop and download the Dcycle Drupal 8 starterkit.

git clone https://github.com/dcycle/starterkit-drupal8site.git cd starterkit-drupal8site ./scripts/deploy.sh

You are also welcome to fork the project and link it to a free CircleCI account, in which case continuous integration tests should start running immediately on every commit.

A few minutes after running ./scripts/deploy.sh, you should see a login link to a full Drupal installation on a random local port (for example http://0.0.0.0:32769) with some dummy data (/node/1). Deploying this site locally or on a CI server such as Circle CI is a one-step, one-dependency process.

In the rest of this article we will refer to this local environment as http://0.0.0.0:YOUR_PORT; always substitute your own port number (in our example 32769) for YOUR_PORT.

Introducing Pa11y

We will use a Dockerized version of Pa11y, dcycle/pa11y, here is how it works against, say, amazon.com:

docker run --rm dcycle/pa11y:1 https://amazon.com

No site that I know of has zero accessibility issues; so you’ll see a bunch of issues in this format:

• Error: This element's role is "presentation" but contains child elements with semantic meaning. ├── WCAG2AA.Principle1.Guideline1_3.1_3_1.F92,ARIA4 ├── #navFooter > div:nth-child(2) └── <div class="navFooterVerticalColumn navAccessibility" role="presentation"><div class="navFooterVerticalRo...</div> Running Pa11y against a local site

Developers and continuous integration servers will need to run Pa11y against a local site. We would be tempted to run Pa11y on 0.0.0.0:YOUR_PORT, but that won’t work because Pa11y is being run inside its own container and will not have access to the host machine. You could give it access, but that raises another issue: the port is not guaranteed to be the same at every run, which requires ugly logic to figure out the port. Ugh! Instead, we will attach Pa11y to the Docker network used by our Starter site, in this case called starterkit_drupal8site_default (you can use docker network ls to list networks). Because our docker-compose.yml file defines the Drupal container as having the name drupal and port 80 (the default port), we can now run:

docker run --network starterkit_drupal8site_default \ --rm dcycle/pa11y:1 http://drupal

This has some errors, just as we expected. Before doing anything else, type echo $?; this will give a non-zero code, meaning running this will make your continuous integration script fail. However, because we decided earlier that we will tolerate, for now, 6 errors on the home page, let’s set a threshold of 6 (or however many errors you get – there are 6 at the time of this writing) instead of the default zero:

docker run --network starterkit_drupal8site_default \ --rm dcycle/pa11y:1 http://drupal --threshold 6

If you run echo $? right after, you should get the “passing” exit code of zero. There, we’ve met our threshold, so we will not have a failure!

How about pages where you need to be logged in?

The above solution breaks down, though, when you want to test http://drupal/node/1/edit. Although it will produce results, what we are actually checking against here is the “Access denied” page, not /node/1/edit when we are logged in. We will approach this in the following way:

  • Set a random password for user 1;
  • Use Puppeteer (see “Tools”, above) to click around your local site with its dummy data, do whatever you want to, and, every step of the way, save the DOM (the document object model, or the current markup after it has been processed by Javascript) as a temporary flat file, named, say, http://drupal/dom-captures/user.html;
  • Use Pa11y to test the temporary file we just created.
Putting it all together

In our Drupal 8 Starterkit, we can test the entire process. Start by running the Puppeteer script:

./scripts/end-to-end-tests.sh

What does this look like?

Astute readers have realized that using Puppeteer to click through the site to create our dom captures has the added benefit of confirming that our site functionality works as expected, which is why I called the script end-to-end-tests.sh.

To confirm this actually worked, you can visit, in an incognito window:

  • http://0.0.0.0:PORT/dom-captures/user.html
  • http://0.0.0.0:PORT/dom-captures/node-1-edit.html

Yes it looks like you’re logged in, but you are not: these are anonymous webpages which Pa11y can check.

So if this worked correctly (and it should, because we hav it under continuous integration), we can run our Pa11y tests agains all these pages:

./scripts/a11y-tests.sh echo $?

You will see the errors, but because the number of errors is below our threshold, the exit code will be zero, allowing our Continuous integration tests to pass.

Conclusion

Making a site accessible is, in my opinion, akin to making a site secure: it is not something to add to a to-do list, but rather an approach including all site stakeholders. Neither is accessibility something which can be automated; it really is a team culture. However, approaches like the one outlined in this article, or whatever works in your organization, will give teams metrics to facilitate the integration of accessibility into their day-to-day operations.

Accessibility tests can be automated to a degree, but not completely; to succeed at accessibility, it needs to be a mindset shared by developers, UX and front-end folks, business people and other stakeholders. In this article, we will attempt to run tests and produce meaningful metrics which can help teams who are already committed to produce more accessible websites.

Categories:

Promet Source: 7 Steps to Website Transformation with Human-Centered Design

Sat, 2019/04/06 - 8:14pm
Having engaged in Human-Centered Design Workshops for web development with amazing clients from every sector, our overarching discovery is this: great websites are made before a line of code is ever written.   Human-Centered Design work lays the groundwork for a vast expansion of transformative possibilities.
Categories:

Drupal @ Penn State: Web components are the future, and the future is coming to DrupalCon

Fri, 2019/04/05 - 10:34pm

It’s been about a year since Nikki and I HAX‘ed DrupalCon Nashville. Now, Mike and I are about to embark to DrupalCon Seatle to once again, HAX all the things. HAXeditor has come a really long way since the last reveal. In the time since last year:

Categories:

Lullabot: Imagining Drupal

Fri, 2019/04/05 - 9:19pm

When I attended my first DrupalCon in San Francisco I brought three suits. At that point, I had been speaking at academic conferences for a decade, and in my experience, conferences were places where attendees dressed formally and speakers literally read their papers (here's a real example from a 2005 Women's and Gender Studies Conference where I spoke).

Categories:

Blue Drop Shop: Q1 uDRI update

Fri, 2019/04/05 - 8:20pm
Q1 uDRI update kthull Fri, 04/05/2019 - 13:20
Categories: